[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r887 - in glibc-package/branches/glibc-2.3.4/debian: patches po



Author: gotom
Date: 2005-04-16 12:04:02 +0000 (Sat, 16 Apr 2005)
New Revision: 887

Added:
   glibc-package/branches/glibc-2.3.4/debian/patches/glibc23-mips-lazy-eval.dpatch
   glibc-package/branches/glibc-2.3.4/debian/patches/glibc232-tls-crashfix.dpatch
   glibc-package/branches/glibc-2.3.4/debian/patches/linuxthreads-sizefix.dpatch
   glibc-package/branches/glibc-2.3.4/debian/po/fi.po
Log:
    * Merge with 2.3.2.ds1-21, added:
      - debian/patches/linuxthreads-sizefix.dpatch: Added.
      - debian/po/fi.po: Added.
      - debian/patches/glibc23-mips-lazy-eval.dpatch: Added.
      - debian/patches/glibc232-tls-crashfix.dpatch: Added, remove some parts
        that are applied in the recent version.


Added: glibc-package/branches/glibc-2.3.4/debian/patches/glibc23-mips-lazy-eval.dpatch
===================================================================
--- glibc-package/branches/glibc-2.3.4/debian/patches/glibc23-mips-lazy-eval.dpatch	2005-04-16 08:55:40 UTC (rev 886)
+++ glibc-package/branches/glibc-2.3.4/debian/patches/glibc23-mips-lazy-eval.dpatch	2005-04-16 12:04:02 UTC (rev 887)
@@ -0,0 +1,106 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: Workaround invalid resolving of lazy evaluation stubs
+# DP: Related bugs: #265678
+# DP: Dpatch author: Thiemo Seufer <ths@debian.org>
+# DP: Patch author: Thiemo Seufer <ths@debian.org>
+# DP: Upstream status: Debian-Specific
+# DP: Status Details: The correct fix will be done to modify toolchains in etch.
+# DP: Date: 2005-04-11
+
+PATCHLEVEL=2
+
+if [ $# -ne 2 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;;
+    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
+    *)
+	echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+	exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+diff -upr build-tree.orig/glibc-2.3.2/elf/do-lookup.h build-tree/glibc-2.3.2/elf/do-lookup.h
+--- build-tree.orig/glibc-2.3.2/elf/do-lookup.h	2005-02-28 23:42:31.000000000 +0100
++++ build-tree/glibc-2.3.2/elf/do-lookup.h	2005-04-11 18:19:20.000000000 +0200
+@@ -209,6 +209,13 @@ FCT (const char *undef_name, unsigned lo
+ 		}
+ 	      /* FALLTHROUGH */
+ 	    case STB_GLOBAL:
++#ifdef __mips__
++	      /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF
++		 symbols, we skip them. */
++	      if (sym->st_shndx == SHN_UNDEF)
++		break;
++#endif
++
+ 	      /* Global definition.  Just what we need.  */
+ 	      result->s = sym;
+ 	      result->m = map;
+diff -upr build-tree.orig/glibc-2.3.2/sysdeps/mips/dl-machine.h build-tree/glibc-2.3.2/sysdeps/mips/dl-machine.h
+--- build-tree.orig/glibc-2.3.2/sysdeps/mips/dl-machine.h	2005-02-28 23:42:36.000000000 +0100
++++ build-tree/glibc-2.3.2/sysdeps/mips/dl-machine.h	2005-04-10 22:39:15.000000000 +0200
+@@ -347,5 +347,6 @@ __dl_runtime_resolve (ElfW(Word) sym_ind
+   const ElfW(Word) gotsym						      \
+     = (const ElfW(Word)) l->l_info[DT_MIPS (GOTSYM)]->d_un.d_val;	      \
+   const ElfW(Sym) *sym = &symtab[sym_index];				      \
++  lookup_t result;							      \
+   ElfW(Addr) value;							      \
+ 									      \
+@@ -363,30 +364,37 @@ __dl_runtime_resolve (ElfW(Word) sym_ind
+ 									      \
+ 	    if (version->hash != 0)					      \
+ 	      {								      \
+-		value = _dl_lookup_versioned_symbol(strtab + sym->st_name, l, \
+-						    &sym, l->l_scope, version,\
+-						    ELF_RTYPE_CLASS_PLT, 0);  \
++		result = INTUSE(_dl_lookup_versioned_symbol) (strtab	      \
++							      + sym->st_name, \
++							      l, &sym,	      \
++							      l->l_scope,     \
++							      version,	      \
++							      ELF_RTYPE_CLASS_PLT,\
++							      0);\
+ 		break;							      \
+ 	      }								      \
+ 	    /* Fall through.  */					      \
+ 	  }								      \
+ 	case 0:								      \
+-	  value = _dl_lookup_symbol (strtab + sym->st_name, l, &sym,	      \
+-				     l->l_scope, ELF_RTYPE_CLASS_PLT,	      \
+-				     DL_LOOKUP_ADD_DEPENDENCY);		      \
++	  result = INTUSE(_dl_lookup_symbol) (strtab + sym->st_name, l, &sym, \
++					      l->l_scope, ELF_RTYPE_CLASS_PLT,\
++					      DL_LOOKUP_ADD_DEPENDENCY);      \
+ 	}								      \
+ 									      \
+-      /* Currently value contains the base load address of the object	      \
+-	 that defines sym.  Now add in the symbol offset.  */		      \
+-      value = (sym ? value + sym->st_value : 0);			      \
++      /* Currently result contains the base load address (or link map)	      \
++	 of the object that defines sym.  Now add in the symbol		      \
++	 offset.  */							      \
++      value = (sym ? result + sym->st_value : 0);			      \
+     }									      \
+   else									      \
+-    /* We already found the symbol.  The module (and therefore its load	      \
+-       address) is also known.  */					      \
+-    value = l->l_addr + sym->st_value;					      \
++    {									      \
++      /* We already found the symbol.  The module (and therefore its load     \
++         address) is also known.  */					      \
++      value = l->l_addr + sym->st_value;				      \
++    }									      \
+ 									      \
+   /* Apply the relocation with that value.  */				      \
+-  *(got + local_gotno + sym_index - gotsym) = value;			      \
++  *(got + local_gotno + sym_index - gotsym) = value;	 		      \
+ 									      \
+   return value;								      \
+ }									      \
+

Added: glibc-package/branches/glibc-2.3.4/debian/patches/glibc232-tls-crashfix.dpatch
===================================================================
--- glibc-package/branches/glibc-2.3.4/debian/patches/glibc232-tls-crashfix.dpatch	2005-04-16 08:55:40 UTC (rev 886)
+++ glibc-package/branches/glibc-2.3.4/debian/patches/glibc232-tls-crashfix.dpatch	2005-04-16 12:04:02 UTC (rev 887)
@@ -0,0 +1,80 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: TLS fixes for xmms/nvidia crash
+# DP: Related bugs: #219352
+# DP: Dpatch author: Jeff Bailey
+# DP: Patch author: 
+# DP: Upstream status: In CVS
+# DP: Status Details: 
+# DP: Date: 2005-03-22, 2005-04-16 updated by gotom
+
+PATCHLEVEL=1
+
+if [ $# -ne 2 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;;
+    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
+    *)
+	echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+	exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+2005-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+	[BZ#786]
+	* sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Handle
+	GL(dl_tls_static_nelem) == GL(dl_tls_max_dtv_idx).
+
+--- libc/sysdeps/generic/dl-tls.c.jj	2005-02-25 14:45:06.000000000 +0100
++++ libc/sysdeps/generic/dl-tls.c	2005-03-15 15:36:55.593127093 +0100
+@@ -71,26 +71,24 @@ _dl_next_tls_modid (void)
+ 	 NB: the offset +1 is due to the fact that DTV[0] is used
+ 	 for something else.  */
+       result = GL(dl_tls_static_nelem) + 1;
+-      /* If the following would not be true we mustn't have assumed
+-	 there is a gap.  */
+-      assert (result <= GL(dl_tls_max_dtv_idx));
+-      do
+-	{
+-	  while (result - disp < runp->len)
+-	    {
+-	      if (runp->slotinfo[result - disp].map == NULL)
+-		break;
+-
+-	      ++result;
+-	      assert (result <= GL(dl_tls_max_dtv_idx) + 1);
+-	    }
+-
+-	  if (result - disp < runp->len)
+-	    break;
+-
+-	  disp += runp->len;
+-	}
+-      while ((runp = runp->next) != NULL);
++      if (result <= GL(dl_tls_max_dtv_idx))
++	do
++	  {
++	    while (result - disp < runp->len)
++	      {
++		if (runp->slotinfo[result - disp].map == NULL)
++		  break;
++
++		++result;
++		assert (result <= GL(dl_tls_max_dtv_idx) + 1);
++	      }
++
++	    if (result - disp < runp->len)
++	      break;
++
++	    disp += runp->len;
++	  }
++	while ((runp = runp->next) != NULL);
+ 
+       if (result > GL(dl_tls_max_dtv_idx))
+ 	{

Added: glibc-package/branches/glibc-2.3.4/debian/patches/linuxthreads-sizefix.dpatch
===================================================================
--- glibc-package/branches/glibc-2.3.4/debian/patches/linuxthreads-sizefix.dpatch	2005-04-16 08:55:40 UTC (rev 886)
+++ glibc-package/branches/glibc-2.3.4/debian/patches/linuxthreads-sizefix.dpatch	2005-04-16 12:04:02 UTC (rev 887)
@@ -0,0 +1,183 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DP:' are a description of the patch.
+# DP: Description: Align TLS_PRE_TCB_SIZE between linuxthreads and nptl.
+#                  The patch is based on fedora-20031105.
+# DP: Related bugs: #292673
+# DP: Dpatch author: GOTO Masanori <gotom@debian.org>
+# DP: Patch author: Jakub Jelinek <jakub@redhat.com>
+# DP: Upstream status: Debian-Specific
+# DP: Status Details: Currently IA-64 part is applied.
+# DP: Date: 2005-04-09
+
+PATCHLEVEL=1
+
+if [ $# -ne 2 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch) patch -d "$2" -f --no-backup-if-mismatch -p$PATCHLEVEL < $0;;
+    -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p$PATCHLEVEL < $0;;
+    *)
+	echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+	exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+2003-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/sparc/tls.h (TLS_TCB_SIZE): If in ld.so and NPTL struct
+	pthread is bigger than struct _pthread_descr_struct, use NPTL struct
+	pthread size.
+
+2003-07-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/alpha/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Change to 0.
+	(TLS_INIT_TCB_ALIGN, TLS_TCB_ALIGN): Alignment of struct
+	_pthread_descr_struct.
+	(TLS_PRE_TCB_SIZE): Add sizeof (tcbhead_t) and pad to align.
+	If in ld.so and NPTL struct pthread is bigger than struct
+	_pthread_descr_struct, use NPTL struct pthread size.
+	(TLS_TCB_OFFSET): Define.
+	(INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV, TLS_INIT_TP, THREAD_DTV,
+	THREAD_SELF, INIT_THREAD_SELF): Changed to match NPTL tls.h
+	definitions.
+	* sysdeps/i386/tls.h (TLS_TCB_SIZE): If in ld.so and NPTL struct
+	pthread is bigger than struct _pthread_descr_struct, use NPTL struct
+	pthread size.
+	* sysdeps/ia64/tls.h (TLS_PRE_TCB_SIZE): Likewise.
+	* sysdeps/powerpc/tls.h (TLS_PRE_TCB_SIZE): Likewise.
+	* sysdeps/s390/tls.h (TLS_TCB_SIZE): Likewise.
+	* sysdeps/sh/tls.h (TLS_PRE_TCB_SIZE): Likewise.
+	* sysdeps/x86_64/tls.h (TLS_TCB_SIZE): Likewise.
+	* sysdeps/pthread/Makefile (gen-as-const-headers): Add
+	nptl-struct-pthread.sym if nptl tree is present.
+	(before-compile): Add $(common-objpfx)nptl-struct-pthread.h
+	if nptl tree is not present.
+	(common-generated): Add nptl-struct-pthread.h.
+	($(common-objpfx)nptl-struct-pthread.h): New rule.
+	* sysdeps/pthread/nptl-struct-pthread.sym: New file.
+
+2003-07-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h
+	if __need_struct_pthread_size, instead define lll_lock_t.
+
+
+--- glibc-2.3.2-net/linuxthreads/Makefile	4 Oct 2003 11:52:58 -0000	1.1.1.53
++++ glibc-2.3.2-redhat/linuxthreads/Makefile	4 Oct 2003 12:06:23 -0000	1.32
+@@ -244,15 +244,18 @@ $(addprefix $(objpfx), \
+   $(filter-out $(tests-static) $(tests-reverse) unload, \
+     $(tests) $(test-srcs))): $(objpfx)libpthread.so \
+ 			     $(objpfx)libpthread_nonshared.a
+-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
++# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so,
+ # since otherwise libpthread.so comes before libc.so when linking.
+ $(addprefix $(objpfx), $(tests-reverse)): \
+-  $(objpfx)../libc.so $(objpfx)libpthread.so \
++  $(objpfx)linklibc.so $(objpfx)libpthread.so \
+   $(objpfx)libpthread_nonshared.a
+ $(objpfx)../libc.so: $(common-objpfx)libc.so ;
+ $(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.so
+ $(objpfx)unload: $(common-objpfx)dlfcn/libdl.so
+ $(objpfx)unload.out: $(objpfx)libpthread.so $(objpfx)libpthread_nonshared.a
++$(objpfx)linklibc.so: $(common-objpfx)libc.so
++	ln -s ../libc.so $@
++generated += libclink.so
+ else
+ $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
+ $(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.a
+--- glibc-2.3.2-net/linuxthreads/sysdeps/ia64/tls.h	31 Jul 2003 23:17:32 -0000	1.1.1.6
++++ glibc-2.3.2-redhat/linuxthreads/sysdeps/ia64/tls.h	31 Jul 2003 23:26:38 -0000	1.5
+@@ -59,7 +59,14 @@ typedef struct
+ #  define TLS_TCB_SIZE sizeof (tcbhead_t)
+ 
+ /* This is the size we need before TCB.  */
+-#  define TLS_PRE_TCB_SIZE sizeof (struct _pthread_descr_struct)
++#  ifndef IS_IN_rtld
++#   define TLS_PRE_TCB_SIZE sizeof (struct _pthread_descr_struct)
++#  else
++#   include <nptl-struct-pthread.h>
++#   define TLS_PRE_TCB_SIZE \
++  (sizeof (struct _pthread_descr_struct) > NPTL_STRUCT_PTHREAD_SIZE	\
++   ? sizeof (struct _pthread_descr_struct) : NPTL_STRUCT_PTHREAD_SIZE)
++#  endif
+ 
+ /* Alignment requirements for the TCB.  */
+ #  define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
+--- glibc-2.3.2-net/linuxthreads/sysdeps/pthread/Makefile	14 Aug 2003 13:32:49 -0000	1.1.1.6
++++ glibc-2.3.2-redhat/linuxthreads/sysdeps/pthread/Makefile	14 Aug 2003 14:10:45 -0000	1.8
+@@ -12,3 +12,15 @@ endif
+ ifeq ($(subdir),posix)
+ CFLAGS-confstr.c += -DLIBPTHREAD_VERSION="\"$(shell sed 's/\(.*\) by .*/\1/' ../linuxthreads/Banner)\""
+ endif
++
++ifeq ($(subdir),csu)
++# Find out the size of NPTL struct pthread
++ifneq (,$(wildcard $(..)nptl/descr.h))
++gen-as-const-headers += nptl-struct-pthread.sym
++else
++before-compile += $(common-objpfx)nptl-struct-pthread.h
++common-generated += nptl-struct-pthread.h
++$(common-objpfx)nptl-struct-pthread.h:
++	@echo '#define NPTL_STRUCT_PTHREAD_SIZE 0' > $@
++endif
++endif
+--- glibc-2.3.2-net/linuxthreads/sysdeps/pthread/nptl-struct-pthread.sym 1 Jan 1970 00:00:00 -0000
++++ glibc-2.3.2-redhat/linuxthreads/sysdeps/pthread/nptl-struct-pthread.sym	28 Jul 2003 10:42:00 -0000	1.1
+@@ -0,0 +1,13 @@
++#ifdef HAVE_TLS_SUPPORT
++# ifndef HAVE_FORCED_UNWIND
++#  define HAVE_FORCED_UNWIND 1
++# endif
++# define __need_struct_pthread_size
++# include <nptl/descr.h>
++#endif
++
++--
++
++#ifdef HAVE_TLS_SUPPORT
++NPTL_STRUCT_PTHREAD_SIZE	sizeof (struct pthread)
++#endif
+--- glibc-2.3.2-net/nptl/Makefile	4 Oct 2003 11:53:45 -0000	1.1.1.67
++++ glibc-2.3.2-redhat/nptl/Makefile	4 Oct 2003 12:06:23 -0000	1.72
+@@ -465,15 +465,19 @@ $(addprefix $(objpfx), \
+     $(tests) $(test-srcs))): $(objpfx)libpthread.so \
+ 			     $(objpfx)libpthread_nonshared.a
+ $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so
+-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
++# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so,
+ # since otherwise libpthread.so comes before libc.so when linking.
+ $(addprefix $(objpfx), $(tests-reverse)): \
+-  $(objpfx)../libc.so $(objpfx)libpthread.so \
++  $(objpfx)linklibc.so $(objpfx)libpthread.so \
+   $(objpfx)libpthread_nonshared.a
+ $(objpfx)../libc.so: $(common-objpfx)libc.so ;
+ $(addprefix $(objpfx),$(tests-static)): $(objpfx)libpthread.a
+ 
+ $(objpfx)tst-atfork2.out: $(objpfx)tst-atfork2mod.so
++
++$(objpfx)linklibc.so: $(common-objpfx)libc.so
++	ln -s ../libc.so $@
++generated += libclink.so
+ else
+ $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
+ endif
+--- glibc-2.3.2-net/nptl/descr.h	28 Jul 2003 10:05:59 -0000	1.1.1.16
++++ glibc-2.3.2-redhat/nptl/descr.h	28 Jul 2003 10:42:00 -0000	1.2
+@@ -27,9 +27,13 @@
+ #include <sys/types.h>
+ #include <hp-timing.h>
+ #include <list.h>
++#ifdef __need_struct_pthread_size
++#define lll_lock_t int
++#else
+ #include <lowlevellock.h>
+ #include <pthreaddef.h>
+ #include <dl-sysdep.h>
++#endif
+ #include "../nptl_db/thread_db.h"
+ #include <tls.h>
+ #ifdef HAVE_FORCED_UNWIND

Added: glibc-package/branches/glibc-2.3.4/debian/po/fi.po
===================================================================
--- glibc-package/branches/glibc-2.3.4/debian/po/fi.po	2005-04-16 08:55:40 UTC (rev 886)
+++ glibc-package/branches/glibc-2.3.4/debian/po/fi.po	2005-04-16 12:04:02 UTC (rev 887)
@@ -0,0 +1,92 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: glibc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2003-11-01 23:07-0500\n"
+"PO-Revision-Date: 2005-04-09 01:47+0300\n"
+"Last-Translator: Matti Pöllä <mpo@iki.fi>\n"
+"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Description
+#: ../debhelper.in/locales.templates:4
+msgid "Select locales to be generated."
+msgstr "Valitse muodostettavat lokaalit."
+
+#. Type: multiselect
+#. Description
+#: ../debhelper.in/locales.templates:4
+msgid ""
+"Locale is a framework to switch between multiple languages for users who can "
+"select to use their language, country, characters, collation order, etc."
+msgstr ""
+"Lokaalien avulla on mahdollista käyttää useita kieliä siten, että\n"
+"käyttäjät voivat itse valita käyttämänsä kielen, maan, merkistön\n"
+"jne. "
+
+#. Type: multiselect
+#. Description
+#: ../debhelper.in/locales.templates:4
+msgid ""
+"Choose which locales to generate.  The selection will be saved to `/etc/"
+"locale.gen', which you can also edit manually (you need to run `locale-gen' "
+"afterwards)."
+msgstr ""
+"Valitse lokaalit, jotka haluat muodostaa. Valinta talletetaan tiedostoon\n"
+"\"/etc/locale.gen\", jota voit myös itse muokata. (Muokkaamisen jälkeen\n"
+"tulee ajaa komento \"locale-gen\".)"
+
+#. Type: select
+#. Choices
+#: ../debhelper.in/locales.templates:14
+msgid "None, ${locales}"
+msgstr "Ei mitään, ${locales}"
+
+#. Type: select
+#. Description
+#: ../debhelper.in/locales.templates:16
+msgid "Which locale should be the default in the system environment?"
+msgstr "Minkä lokaalin tulisi olla järjestelmän oletus?"
+
+#. Type: select
+#. Description
+#: ../debhelper.in/locales.templates:16
+msgid ""
+"Many packages in Debian use locales to display text in the correct language "
+"for users. You can change the default locale if you're not a native English "
+"speaker. These choices are based on which locales you have chosen to "
+"generate."
+msgstr ""
+"Monet Debianin paketit käyttävät lokaaleja näyttämään käyttäjälle\n"
+"tekstit oikealla kielellä. Voit muuttaa oletusarvoisen lokaalin, jos\n"
+"et puhu suomea äidinkielenäsi. Nämä valinnat perustuvat lokaaleihin,\n"
+"jotka valitsit muodostaa."
+
+#. Type: select
+#. Description
+#: ../debhelper.in/locales.templates:16
+msgid ""
+"Note: This will select the language for your whole system. If you're running "
+"a multi-user system where not all of your users speak the language of your "
+"choice, then they will run into difficulties and you might want not to set a "
+"default locale."
+msgstr ""
+"Huomaa: Tämä valitsee koko järjestelmän kielen. Jos kyseessä on monen\n"
+"käyttäjän ympäristö, jossa kaikki käyttäjät eivät puhu valitsemaasi\n"
+"kieltä, oletuskielen valitseminen ei ehkä ole järkevää."



Reply to: