]> git.pld-linux.org Git - packages/rpm.git/commitdiff
This commit was manufactured by cvs2git to create branch 'rpm-4_5'.
authorcvs2git <feedback@pld-linux.org>
Wed, 27 Jan 2010 17:12:49 +0000 (17:12 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Cherrypick from master 2009-06-19 16:37:24 UTC Elan Ruusamäe <glen@pld-linux.org> '- hardcode gid=adm for filesystem; rel 22':
    rpm-debugdir.patch -> 1.2
    rpm-debugedit-workaround.patch -> 1.1
    rpm-disable-hkp.patch -> 1.1
    rpm-gendiff.patch -> 1.1
    rpm-gid-uucp.patch -> 1.2
    rpm-gstreamer.patch -> 1.2
    rpm-lzma-mem.patch -> 1.1
    rpm-macros.gstreamer -> 1.1
    rpm-user_group.sh -> 1.11
    rpm.groups -> 1.93
Cherrypick from master 2010-01-27 17:12:49 UTC Elan Ruusamäe <glen@pld-linux.org> '- update tools/debugedit.c r2.22 from rpm5 trunk (raw)':
    rpm-am.patch -> 1.1
    rpm-rpm5-debugedit.patch -> 1.1
    rpm-unglobal.patch -> 1.1
Cherrypick from master 2008-11-21 16:22:55 UTC Arkadiusz Miśkiewicz <arekm@maven.pl> '- postun never fails now':
    rpm-postun-nofail.patch -> 1.1
Cherrypick from master 2008-11-23 15:20:23 UTC Paweł Gołaszewski <blues@pld-linux.org> '- added lzma_w7 patch - first attempt to make lzma usable on non-high-end':
    rpm-lzma-compress-level.patch -> 1.1
Cherrypick from rpm-4_4_9 2009-03-03 18:25:06 UTC Elan Ruusamäe <glen@pld-linux.org> '- set failed state on upgrade, if package reopen failed, otherwise the upgraded':
    rpm-set-failed-on-reopen.patch -> 1.1.2.1

16 files changed:
rpm-am.patch [new file with mode: 0644]
rpm-debugdir.patch [new file with mode: 0644]
rpm-debugedit-workaround.patch [new file with mode: 0644]
rpm-disable-hkp.patch [new file with mode: 0644]
rpm-gendiff.patch [new file with mode: 0644]
rpm-gid-uucp.patch [new file with mode: 0644]
rpm-gstreamer.patch [new file with mode: 0644]
rpm-lzma-compress-level.patch [new file with mode: 0644]
rpm-lzma-mem.patch [new file with mode: 0644]
rpm-macros.gstreamer [new file with mode: 0644]
rpm-postun-nofail.patch [new file with mode: 0644]
rpm-rpm5-debugedit.patch [new file with mode: 0644]
rpm-set-failed-on-reopen.patch [new file with mode: 0644]
rpm-unglobal.patch [new file with mode: 0644]
rpm-user_group.sh [new file with mode: 0644]
rpm.groups [new file with mode: 0644]

diff --git a/rpm-am.patch b/rpm-am.patch
new file mode 100644 (file)
index 0000000..d41be43
--- /dev/null
@@ -0,0 +1,11 @@
+--- rpm-5.1.9/rpmdb/Makefile.am.orig   2009-04-12 21:46:28.000000000 +0200
++++ rpm-5.1.9/rpmdb/Makefile.am        2009-10-23 21:35:13.000000000 +0200
+@@ -108,7 +108,7 @@
+ install-data-local:
+       $(mkinstalldirs) $(DESTDIR)$(pkgincdir)
+-      $(pkgincHEADERS_INSTALL) $(my_DB_HEADER) $(DESTDIR)$(pkgincdir)/db.h
++      $(install_sh_DATA) $(my_DB_HEADER) $(DESTDIR)$(pkgincdir)/db.h
+ clean-local:
+       rm -f *.o tagtbl.c
diff --git a/rpm-debugdir.patch b/rpm-debugdir.patch
new file mode 100644 (file)
index 0000000..ff534f7
--- /dev/null
@@ -0,0 +1,12 @@
+--- rpm-4.5/scripts/find-debuginfo.sh~ 2009-06-08 23:57:15.000000000 +0300
++++ rpm-4.5/scripts/find-debuginfo.sh  2009-06-09 00:10:21.603343056 +0300
+@@ -306,6 +306,9 @@
+   sed -n -r "\#^$ptn #s/ .*\$//p" "$LINKSFILE" | append_uniq "$out"
+ }
++# get rid of top level dir, we want it be only in filesystem-debuginfo package
++sed -i -e '/^%dir \/usr\/lib\/debug$/d' "$LISTFILE"
++
+ #
+ # When given multiple -o switches, split up the output as directed.
+ #
diff --git a/rpm-debugedit-workaround.patch b/rpm-debugedit-workaround.patch
new file mode 100644 (file)
index 0000000..00facee
--- /dev/null
@@ -0,0 +1,29 @@
+diff -urN rpm-4.5/doc/rpmbuild.8 rpm-4.5.new/doc/rpmbuild.8
+--- rpm-4.5/doc/rpmbuild.8     2009-04-12 11:29:27.449408696 +0200
++++ rpm-4.5.new/doc/rpmbuild.8 2009-04-12 12:04:02.462534640 +0200
+@@ -252,6 +252,13 @@
+ .SS "Temporary"
+ .PP
+ \fI/var/tmp/rpm*\fR
++.SH "BUGS"
++Extraction of the debugging data may fail if the source refer to files 
++with "//" in their path. In that case, the tool "debugedit" used by rpmbuild 
++to extract the debugging information will fail with a message "canonicalization 
++unexpectedly shrank by one character" but the binary package will be built 
++nevertheless.
++
+ .SH "SEE ALSO"
+ .nf
+diff -urN rpm-4.5/scripts/find-debuginfo.sh rpm-4.5.new/scripts/find-debuginfo.sh
+--- rpm-4.5/scripts/find-debuginfo.sh  2009-04-12 11:29:27.006092294 +0200
++++ rpm-4.5.new/scripts/find-debuginfo.sh      2009-04-12 11:59:26.240060976 +0200
+@@ -200,7 +200,7 @@
+   echo "extracting debug info from $f"
+   id=$(/usr/lib/rpm/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug \
+-                            -i -l "$SOURCEFILE" "$f") || exit
++                            -i -l "$SOURCEFILE" "$f")
+   if [ -z "$id" ]; then
+     echo >&2 "*** ${strict_error}: No build ID note found in $f"
+     $strict && exit 2
diff --git a/rpm-disable-hkp.patch b/rpm-disable-hkp.patch
new file mode 100644 (file)
index 0000000..ca42361
--- /dev/null
@@ -0,0 +1,13 @@
+--- rpm-4.5/macros.in~ 2009-06-05 00:50:12.000000000 +0300
++++ rpm-4.5/macros.in  2009-06-05 01:25:32.648494029 +0300
+@@ -746,8 +746,8 @@
+ # Horowitz Key Protocol server configuration
+ #
+-%_hkp_keyserver         hkp://subkeys.pgp.net
+-%_hkp_keyserver_query   %{_hkp_keyserver}/pks/lookup?op=get&search=0x
++#%_hkp_keyserver         hkp://subkeys.pgp.net
++#%_hkp_keyserver_query   %{_hkp_keyserver}/pks/lookup?op=get&search=0x
+ #==============================================================================
+ # ---- Transaction macros.
diff --git a/rpm-gendiff.patch b/rpm-gendiff.patch
new file mode 100644 (file)
index 0000000..6eec5b1
--- /dev/null
@@ -0,0 +1,8 @@
+--- ./scripts/gendiff.org      2008-04-06 10:48:23.000000000 +0200
++++ ./scripts/gendiff  2009-02-11 15:44:23.070120721 +0100
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+ function usage () {
+   echo "usage: $0 <directory> <diff-extension>" 1>&2
diff --git a/rpm-gid-uucp.patch b/rpm-gid-uucp.patch
new file mode 100644 (file)
index 0000000..765adf0
--- /dev/null
@@ -0,0 +1,29 @@
+--- rpm-4.5/rpmio/ugid.c       2009-06-05 00:46:30.450894061 +0300
++++ rpm-4.5/rpmio/ugid.c       2009-06-19 19:35:42.374530092 +0300
+@@ -101,10 +101,10 @@
+           /*@=internalglobs@*/
+           grent = getgrnam(thisGname);
+           if (grent == NULL) {
+-              /* XXX The filesystem package needs group/lock w/o getgrnam. */
+-              if (strcmp(thisGname, "lock") == 0) {
++              /* XXX The FHS package needs group/uucp w/o getgrnam, filesystem needs adm */
++              if (strcmp(thisGname, "uucp") == 0) {
+ /*@-boundswrite@*/
+-                  *gid = lastGid = 54;
++                  *gid = lastGid = 14;
+ /*@=boundswrite@*/
+                   return 0;
+               } else
+@@ -114,6 +114,12 @@
+ /*@=boundswrite@*/
+                   return 0;
+               } else
++              if (strcmp(thisGname, "adm") == 0) {
++/*@-boundswrite@*/
++                  *gid = lastGid = 4;
++/*@=boundswrite@*/
++                  return 0;
++              } else
+               return -1;
+           }
+       }
diff --git a/rpm-gstreamer.patch b/rpm-gstreamer.patch
new file mode 100644 (file)
index 0000000..15c189a
--- /dev/null
@@ -0,0 +1,31 @@
+diff -urN rpm/lib/rpmfc.c rpm.new/lib/rpmfc.c
+--- rpm/lib/rpmfc.c    2008-12-28 13:38:03.000000000 +0100
++++ rpm.new/lib/rpmfc.c        2008-12-31 22:20:54.000000000 +0100
+@@ -960,13 +960,15 @@
+       /*@modifies rpmGlobalMacroContext, fileSystem, internalState @*/
+ {
+     const char * fn = fc->fn[fc->ix];
+-    int flags = 0;
++    int flags = 0, xx;
+     if (fc->skipProv)
+       flags |= RPMELF_FLAG_SKIPPROVIDES;
+     if (fc->skipReq)
+       flags |= RPMELF_FLAG_SKIPREQUIRES;
++    xx = rpmfcHelper(fc, 'P', "gstreamer");
++
+     return rpmdsELF(fn, flags, rpmfcMergePR, fc);
+ }
+diff -urN rpm/macros.in rpm.new/macros.in
+--- rpm/macros.in      2008-12-28 13:38:02.000000000 +0100
++++ rpm.new/macros.in  2008-12-28 15:18:46.000000000 +0100
+@@ -1505,5 +1505,7 @@
+ # helper is also used by %{_rpmhome}/rpmdeps --provides
+ %__mimetype_provides %{_rpmhome}/mimetypedeps.sh --provides
++%__gstreamer_provides %{nil}
++
+ # \endverbatim
+ #*/
diff --git a/rpm-lzma-compress-level.patch b/rpm-lzma-compress-level.patch
new file mode 100644 (file)
index 0000000..c77311e
--- /dev/null
@@ -0,0 +1,26 @@
+--- rpm-4.5/lib/psm.c~ 2008-11-22 17:18:39.325237949 +0100
++++ rpm-4.5/lib/psm.c  2008-11-22 17:30:16.807430141 +0100
+@@ -2308,13 +2308,16 @@
+           replace_lzma_with_gzip(psm->oh);
+       }
+       *t = '\0';
+-      t = stpcpy(t, ((psm->goal == PSM_PKGSAVE) ? "w9" : "r"));
+-      if (!strcmp(payload_compressor, "gzip"))
+-          t = stpcpy(t, ".gzdio");
+-      if (!strcmp(payload_compressor, "bzip2"))
+-          t = stpcpy(t, ".bzdio");
+-      if (!strcmp(payload_compressor, "lzma"))
+-          t = stpcpy(t, ".lzdio");
++      if (!strcmp(payload_compressor, "lzma")) {
++              t = stpcpy(t, ((psm->goal == PSM_PKGSAVE) ? "w7" : "r"));
++              t = stpcpy(t, ".lzdio");
++      } else {
++              t = stpcpy(t, ((psm->goal == PSM_PKGSAVE) ? "w9" : "r"));
++              if (!strcmp(payload_compressor, "gzip"))
++                      t = stpcpy(t, ".gzdio");
++              if (!strcmp(payload_compressor, "bzip2"))
++                      t = stpcpy(t, ".bzdio");
++      }
+       /*@-branchstate@*/
+       if (!hge(fi->h, RPMTAG_PAYLOADFORMAT, NULL,
diff --git a/rpm-lzma-mem.patch b/rpm-lzma-mem.patch
new file mode 100644 (file)
index 0000000..544c247
--- /dev/null
@@ -0,0 +1,11 @@
+--- rpm-4.5/rpmio/lzdio.c.org  2008-11-05 18:13:43.655364585 +0100
++++ rpm-4.5/rpmio/lzdio.c      2008-11-05 18:13:51.136793343 +0100
+@@ -132,7 +132,7 @@
+       for (i = 3; i < 1024; i++)
+           xx = close(i);
+       lzma = rpmGetPath("%{?__lzma}%{!?__lzma:/usr/bin/lzma}", NULL);
+-      if (execle(lzma, "lzma", level, NULL, env))
++      if (execle(lzma, "lzma", level, "-M0", NULL, env))
+           _exit(1);
+       lzma = _free(lzma);
+     }
diff --git a/rpm-macros.gstreamer b/rpm-macros.gstreamer
new file mode 100644 (file)
index 0000000..b9b366b
--- /dev/null
@@ -0,0 +1 @@
+%define __gstreamer_provides /usr/lib/rpm/gstreamerdeps.sh --provides
diff --git a/rpm-postun-nofail.patch b/rpm-postun-nofail.patch
new file mode 100644 (file)
index 0000000..12a6406
--- /dev/null
@@ -0,0 +1,13 @@
+--- rpm-4.5/lib/psm.c.org      2008-11-21 17:20:34.293584455 +0100
++++ rpm-4.5/lib/psm.c  2008-11-21 17:21:41.482728047 +0100
+@@ -2114,8 +2114,8 @@
+           psm->countCorrection = -1;
+           if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUN)) {
+-              rc = rpmpsmNext(psm, PSM_SCRIPT);
+-              if (rc) break;
++              if (rpmpsmNext(psm, PSM_SCRIPT))
++                  rpmMessage(RPMMESS_VERBOSE, _("Ignoring failed %%postun scriptlet\n"));
+           }
+           if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERPOSTUN)) {
diff --git a/rpm-rpm5-debugedit.patch b/rpm-rpm5-debugedit.patch
new file mode 100644 (file)
index 0000000..7da6df5
--- /dev/null
@@ -0,0 +1,457 @@
+--- trunk/tools/debugedit.c    2010-01-27 18:57:49.758813670 +0200
++++ rpm-4.5/tools/debugedit.c  2008-04-06 23:32:15.000000000 +0300
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009 Red Hat, Inc.
++/* Copyright (C) 2001, 2002, 2003, 2005, 2007 Red Hat, Inc.
+    Written by Alexander Larsson <alexl@redhat.com>, 2002
+    Based on code by Jakub Jelinek <jakub@redhat.com>, 2001.
+@@ -66,8 +66,8 @@
+ #define DW_FORM_indirect      0x16
+ #include <beecrypt/beecrypt.h>
++
+ #include "hashtab.h"
+-#include <rpmtag.h>
+ #define DW_TAG_partial_unit 0x3c
+@@ -77,6 +77,9 @@
+ int list_file_fd = -1;
+ int do_build_id = 0;
++typedef unsigned int uint_32;
++typedef unsigned short uint_16;
++
+ typedef struct
+ {
+   Elf *elf;
+@@ -90,7 +93,7 @@
+ typedef struct
+ {
+   unsigned char *ptr;
+-  rpmuint32_t addend;
++  uint_32 addend;
+ } REL;
+ #define read_uleb128(ptr) ({          \
+@@ -109,32 +112,31 @@
+   ret;                                        \
+ })
+-static rpmuint16_t (*do_read_16) (unsigned char *ptr);
+-static rpmuint32_t (*do_read_32) (unsigned char *ptr);
++static uint_16 (*do_read_16) (unsigned char *ptr);
++static uint_32 (*do_read_32) (unsigned char *ptr);
+ static void (*write_32) (unsigned char *ptr, GElf_Addr val);
+ static int ptr_size;
+-static int cu_version;
+-static inline rpmuint16_t
++static inline uint_16
+ buf_read_ule16 (unsigned char *data)
+ {
+   return data[0] | (data[1] << 8);
+ }
+-static inline rpmuint16_t
++static inline uint_16
+ buf_read_ube16 (unsigned char *data)
+ {
+   return data[1] | (data[0] << 8);
+ }
+-static inline rpmuint32_t
++static inline uint_32
+ buf_read_ule32 (unsigned char *data)
+ {
+   return data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24);
+ }
+-static inline rpmuint32_t
++static inline uint_32
+ buf_read_ube32 (unsigned char *data)
+ {
+   return data[3] | (data[2] << 8) | (data[1] << 16) | (data[0] << 24);
+@@ -154,7 +156,7 @@
+       {
+         if (data->d_buf
+             && offset >= data->d_off
+-            && offset < data->d_off + (off_t)data->d_size)
++            && offset < data->d_off + data->d_size)
+           return (const char *) data->d_buf + (offset - data->d_off);
+       }
+     }
+@@ -166,13 +168,13 @@
+ #define read_1(ptr) *ptr++
+ #define read_16(ptr) ({                                       \
+-  rpmuint16_t ret = do_read_16 (ptr);                 \
++  uint_16 ret = do_read_16 (ptr);                     \
+   ptr += 2;                                           \
+   ret;                                                        \
+ })
+ #define read_32(ptr) ({                                       \
+-  rpmuint32_t ret = do_read_32 (ptr);                 \
++  uint_32 ret = do_read_32 (ptr);                     \
+   ptr += 4;                                           \
+   ret;                                                        \
+ })
+@@ -181,7 +183,7 @@
+ int reltype;
+ #define do_read_32_relocated(ptr) ({                  \
+-  rpmuint32_t dret = do_read_32 (ptr);                        \
++  uint_32 dret = do_read_32 (ptr);                    \
+   if (relptr)                                         \
+     {                                                 \
+       while (relptr < relend && relptr->ptr < ptr)    \
+@@ -198,7 +200,7 @@
+ })
+ #define read_32_relocated(ptr) ({                     \
+-  rpmuint32_t ret = do_read_32_relocated (ptr);               \
++  uint_32 ret = do_read_32_relocated (ptr);           \
+   ptr += 4;                                           \
+   ret;                                                        \
+ })
+@@ -206,7 +208,7 @@
+ static void
+ dwarf2_write_le32 (unsigned char *p, GElf_Addr val)
+ {
+-  rpmuint32_t v = (rpmuint32_t) val;
++  uint_32 v = (uint_32) val;
+   p[0] = v;
+   p[1] = v >> 8;
+@@ -218,7 +220,7 @@
+ static void
+ dwarf2_write_be32 (unsigned char *p, GElf_Addr val)
+ {
+-  rpmuint32_t v = (rpmuint32_t) val;
++  uint_32 v = (uint_32) val;
+   p[3] = v;
+   p[2] = v >> 8;
+@@ -240,18 +242,16 @@
+ #define DEBUG_LINE    2
+ #define DEBUG_ARANGES 3
+ #define DEBUG_PUBNAMES        4
+-#define DEBUG_PUBTYPES        5
+-#define DEBUG_MACINFO 6
+-#define DEBUG_LOC     7
+-#define DEBUG_STR     8
+-#define DEBUG_FRAME   9
+-#define DEBUG_RANGES  10
++#define DEBUG_MACINFO 5
++#define DEBUG_LOC     6
++#define DEBUG_STR     7
++#define DEBUG_FRAME   8
++#define DEBUG_RANGES  9
+     { ".debug_info", NULL, NULL, 0, 0, 0 },
+     { ".debug_abbrev", NULL, NULL, 0, 0, 0 },
+     { ".debug_line", NULL, NULL, 0, 0, 0 },
+     { ".debug_aranges", NULL, NULL, 0, 0, 0 },
+     { ".debug_pubnames", NULL, NULL, 0, 0, 0 },
+-    { ".debug_pubtypes", NULL, NULL, 0, 0, 0 },
+     { ".debug_macinfo", NULL, NULL, 0, 0, 0 },
+     { ".debug_loc", NULL, NULL, 0, 0, 0 },
+     { ".debug_str", NULL, NULL, 0, 0, 0 },
+@@ -331,7 +331,7 @@
+         }
+       if (*slot != NULL)
+       {
+-        error (0, 0, "%s: Duplicate DWARF abbreviation %d", dso->filename,
++        error (0, 0, "%s: Duplicate DWARF-2 abbreviation %d", dso->filename,
+                t->entry);
+         free (t);
+         htab_delete (h);
+@@ -351,7 +351,7 @@
+         form = read_uleb128 (ptr);
+         if (form == 2 || form > DW_FORM_indirect)
+           {
+-            error (0, 0, "%s: Unknown DWARF DW_FORM_%d", dso->filename, form);
++            error (0, 0, "%s: Unknown DWARF-2 DW_FORM_%d", dso->filename, form);
+             htab_delete (h);
+             return NULL;
+           }
+@@ -361,7 +361,7 @@
+         }
+       if (read_uleb128 (ptr) != 0)
+         {
+-        error (0, 0, "%s: DWARF abbreviation does not end with 2 zeros",
++        error (0, 0, "%s: DWARF-2 abbreviation does not end with 2 zeros",
+                dso->filename);
+         htab_delete (h);
+         return NULL;
+@@ -468,8 +468,8 @@
+ has_prefix (const char  *str,
+           const char  *prefix)
+ {
+-  size_t str_len;
+-  size_t prefix_len;
++  int str_len;
++  int prefix_len;
+   
+   str_len = strlen (str);
+   prefix_len = strlen (prefix);
+@@ -481,14 +481,14 @@
+ }
+ static int
+-edit_dwarf2_line (DSO *dso, rpmuint32_t off, char *comp_dir, int phase)
++edit_dwarf2_line (DSO *dso, uint_32 off, char *comp_dir, int phase)
+ {
+   unsigned char *ptr = debug_sections[DEBUG_LINE].data, *dir;
+   unsigned char **dirt;
+   unsigned char *endsec = ptr + debug_sections[DEBUG_LINE].size;
+   unsigned char *endcu, *endprol;
+   unsigned char opcode_base;
+-  rpmuint32_t value, dirt_cnt;
++  uint_32 value, dirt_cnt;
+   size_t comp_dir_len = strlen (comp_dir);
+   size_t abs_file_cnt = 0, abs_dir_cnt = 0;
+@@ -513,7 +513,7 @@
+     }
+   value = read_16 (ptr);
+-  if (value != 2 && value != 3)
++  if (value != 2)
+     {
+       error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
+            value);
+@@ -679,12 +679,9 @@
+         if (--shrank == 0)
+           error (EXIT_FAILURE, 0,
+                  "canonicalization unexpectedly shrank by one character");
+-        else
+-          {       
+-            memset (ptr, 'X', shrank);
+-            ptr += shrank;
+-            *ptr++ = '\0';
+-          }
++        memset (ptr, 'X', shrank);
++        ptr += shrank;
++        *ptr++ = '\0';
+       }
+       if (abs_dir_cnt + abs_file_cnt != 0)
+@@ -740,7 +737,7 @@
+ edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
+ {
+   int i;
+-  rpmuint32_t list_offs;
++  uint_32 list_offs;
+   int found_list_offs;
+   char *comp_dir;
+   
+@@ -749,9 +746,9 @@
+   found_list_offs = 0;
+   for (i = 0; i < t->nattr; ++i)
+     {
+-      rpmuint32_t form = t->attr[i].form;
+-      size_t len = 0;
+-      size_t base_len, dest_len;
++      uint_32 form = t->attr[i].form;
++      uint_32 len = 0;
++      int base_len, dest_len;
+       
+       while (1)
+@@ -794,7 +791,7 @@
+             {
+                 char *dir;
+-                dir = (char *) debug_sections[DEBUG_STR].data
++                dir = (char *)debug_sections[DEBUG_STR].data
+                     + do_read_32_relocated (ptr);
+                 free (comp_dir);
+@@ -824,7 +821,7 @@
+           {
+             char *name;
+             
+-            name = (char *) debug_sections[DEBUG_STR].data
++            name = (char *)debug_sections[DEBUG_STR].data
+                    + do_read_32_relocated (ptr);
+             if (*name == '/' && comp_dir == NULL)
+               {
+@@ -858,12 +855,7 @@
+         switch (form)
+           {
+-          case DW_FORM_ref_addr:
+-            if (cu_version == 2)
+-              ptr += ptr_size;
+-            else
+-              ptr += 4;
+-            break;
++          case DW_FORM_ref_addr: /* ptr_size in DWARF 2, offset in DWARF 3 */
+           case DW_FORM_addr:
+             ptr += ptr_size;
+             break;
+@@ -915,7 +907,7 @@
+             assert (len < UINT_MAX);
+             break;
+           default:
+-            error (0, 0, "%s: Unknown DWARF DW_FORM_%d", dso->filename,
++            error (0, 0, "%s: Unknown DWARF-2 DW_FORM_%d", dso->filename,
+                    form);
+             return NULL;
+           }
+@@ -926,34 +918,6 @@
+         break;
+       }
+     }
+-
+-  /* Ensure the CU current directory will exist even if only empty.  Source
+-     filenames possibly located in its parent directories refer relatively to
+-     it and the debugger (GDB) cannot safely optimize out the missing
+-     CU current dir subdirectories.  */
+-  if (comp_dir && list_file_fd != -1)
+-    {
+-      char *p;
+-      size_t size;
+-
+-      if (base_dir && has_prefix (comp_dir, base_dir))
+-      p = comp_dir + strlen (base_dir);
+-      else if (dest_dir && has_prefix (comp_dir, dest_dir))
+-      p = comp_dir + strlen (dest_dir);
+-      else
+-      p = comp_dir;
+-
+-      size = strlen (p) + 1;
+-      while (size > 0)
+-      {
+-        ssize_t ret = write (list_file_fd, p, size);
+-        if (ret == -1)
+-          break;
+-        size -= ret;
+-        p += ret;
+-      }
+-    }
+-
+   if (found_list_offs && comp_dir)
+     edit_dwarf2_line (dso, list_offs, comp_dir, phase);
+@@ -1070,7 +1034,7 @@
+   if (debug_sections[DEBUG_INFO].data != NULL)
+     {
+       unsigned char *ptr, *endcu, *endsec;
+-      rpmuint32_t value;
++      uint_32 value;
+       htab_t abbrev;
+       struct abbrev_tag tag, *t;
+       int phase;
+@@ -1212,11 +1176,11 @@
+                 return 1;
+               }
+             
+-            cu_version = read_16 (ptr);
+-            if (cu_version != 2 && cu_version != 3)
++            value = read_16 (ptr);
++            if (value != 2)
+               {
+                 error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
+-                       cu_version);
++                       value);
+                 return 1;
+               }
+             
+@@ -1226,7 +1190,7 @@
+                 if (debug_sections[DEBUG_ABBREV].data == NULL)
+                   error (0, 0, "%s: .debug_abbrev not present", dso->filename);
+                 else
+-                  error (0, 0, "%s: DWARF CU abbrev offset too large",
++                  error (0, 0, "%s: DWARF-2 CU abbrev offset too large",
+                          dso->filename);
+                 return 1;
+               }
+@@ -1236,14 +1200,14 @@
+                 ptr_size = read_1 (ptr);
+                 if (ptr_size != 4 && ptr_size != 8)
+                   {
+-                    error (0, 0, "%s: Invalid DWARF pointer size %d",
++                    error (0, 0, "%s: Invalid DWARF-2 pointer size %d",
+                            dso->filename, ptr_size);
+                     return 1;
+                   }
+               }
+             else if (read_1 (ptr) != ptr_size)
+               {
+-                error (0, 0, "%s: DWARF pointer size differs between CUs",
++                error (0, 0, "%s: DWARF-2 pointer size differs between CUs",
+                        dso->filename);
+                 return 1;
+               }
+@@ -1261,7 +1225,7 @@
+                 t = htab_find_with_hash (abbrev, &tag, tag.entry);
+                 if (t == NULL)
+                   {
+-                    error (0, 0, "%s: Could not find DWARF abbreviation %d",
++                    error (0, 0, "%s: Could not find DWARF-2 abbreviation %d",
+                            dso->filename, tag.entry);
+                     htab_delete (abbrev);
+                     return 1;
+@@ -1410,12 +1374,12 @@
+      or Elf64 object, only that we are consistent in what bits feed the
+      hash so it comes out the same for the same file contents.  */
+   {
+-    auto inline void process (const void *data, size_t size);
+-    auto inline void process (const void *data, size_t size)
++    inline void process (const void *data, size_t size)
+     {
+       memchunk chunk = { .data = (void *) data, .size = size };
+       hashFunctionContextUpdateMC (&ctx, &chunk);
+     }
++
+     union
+     {
+       GElf_Ehdr ehdr;
+@@ -1475,11 +1439,11 @@
+   /* Now format the build ID bits in hex to print out.  */
+   {
+-    const rpmuint8_t * id = (rpmuint8_t *)build_id->d_buf + build_id_offset;
++    const unsigned char * id = (unsigned char *) build_id->d_buf + build_id_offset;
+     char hex[build_id_size * 2 + 1];
+     int n = snprintf (hex, 3, "%02" PRIx8, id[0]);
+     assert (n == 2);
+-    for (i = 1; i < (int)build_id_size; ++i)
++    for (i = 1; i < build_id_size; ++i)
+       {
+       n = snprintf (&hex[i * 2], 3, "%02" PRIx8, id[i]);
+       assert (n == 2);
+@@ -1502,7 +1466,8 @@
+   Elf_Data *build_id = NULL;
+   size_t build_id_offset = 0, build_id_size = 0;
+-  optCon = poptGetContext("debugedit", argc, (const char **)argv, optionsTable, 0);
++  optCon = poptGetContext("debugedit", argc, (const char **)argv,
++                        optionsTable, 0);
+   
+   while ((nextopt = poptGetNextOpt (optCon)) > 0 || nextopt == POPT_ERROR_BADOPT)
+     /* do nothing */ ;
+@@ -1620,8 +1585,7 @@
+             Elf_Data src = dst;
+             src.d_buf = data->d_buf;
+             assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
+-            while ((char *) data->d_buf + data->d_size - 
+-                   (char *) src.d_buf > (int) sizeof nh
++            while ((char *) data->d_buf + data->d_size - (char *) src.d_buf > (int) sizeof nh
+                    && elf32_xlatetom (&dst, &src, dso->ehdr.e_ident[EI_DATA]))
+               {
+                 Elf32_Word len = sizeof nh + nh.n_namesz;
+@@ -1631,8 +1595,7 @@
+                     && !memcmp ((char *) src.d_buf + sizeof nh, "GNU", sizeof "GNU"))
+                   {
+                     build_id = data;
+-                    build_id_offset = (char *) src.d_buf + len - 
+-                                      (char *) data->d_buf;
++                    build_id_offset = (char *) src.d_buf + len - (char *) data->d_buf;
+                     build_id_size = nh.n_descsz;
+                     break;
+                   }
diff --git a/rpm-set-failed-on-reopen.patch b/rpm-set-failed-on-reopen.patch
new file mode 100644 (file)
index 0000000..40fd649
--- /dev/null
@@ -0,0 +1,12 @@
+--- rpm-4.4.9/lib/transaction.c~       2009-03-03 20:03:31.000000000 +0200
++++ rpm-4.4.9/lib/transaction.c        2009-03-03 20:15:17.337085230 +0200
+@@ -1775,6 +1775,9 @@
+                       /*@innerbreak@*/ break;
+                   }
+                   if (rpmteFd(p) != NULL) gotfd = 1;
++              } else {
++                  ourrc++;
++                  xx = markLinkedFailed(ts, p);
+               }
+           }
+           /*@=type@*/
diff --git a/rpm-unglobal.patch b/rpm-unglobal.patch
new file mode 100644 (file)
index 0000000..7dbbcb5
--- /dev/null
@@ -0,0 +1,74 @@
+--- rpm-4.5/rpmio/macro.c.org  2009-08-08 15:42:25.574860247 +0200
++++ rpm-4.5/rpmio/macro.c      2009-08-08 15:47:20.495455961 +0200
+@@ -807,6 +807,41 @@
+     return se;
+ }
++/**
++ * Parse (and execute) macro undefinition.
++ * @param mc          macro context
++ * @param se          macro name to undefine
++ * @return            address to continue parsing
++ */
++/*@dependent@*/ static const char *
++doUnglobal(MacroContext mc, /*@returned@*/ const char * se)
++      /*@globals rpmGlobalMacroContext @*/
++      /*@modifies mc, rpmGlobalMacroContext @*/
++{
++    const char *s = se;
++    char *buf = alloca(_macro_BUFSIZ);
++    char *n = buf, *ne = n;
++    int c;
++
++    COPYNAME(ne, s, c);
++
++    /* Move scan over body */
++    while (iseol(*s))
++      s++;
++    se = s;
++
++    /* Names must start with alphabetic or _ and be at least 3 chars */
++    if (!((c = *n) && (xisalpha(c) || c == '_') && (ne - n) > 2)) {
++      rpmError(RPMERR_BADSPEC,
++              _("Macro %%%s has illegal name (%%unglobal)\n"), n);
++      return se;
++    }
++
++    delMacroAll(mc, n);
++
++    return se;
++}
++
+ #ifdef        DYING
+ static void
+ dumpME(const char * msg, MacroEntry me)
+@@ -1430,6 +1465,10 @@
+               s = doUndefine(mb->mc, se);
+               continue;
+       }
++      if (STREQ("unglobal", f, fn)) {
++              s = doUnglobal(mb->mc, se);
++              continue;
++      }
+       if (STREQ("echo", f, fn) ||
+           STREQ("warn", f, fn) ||
+@@ -1984,6 +2023,18 @@
+     }
+ }
++void
++delMacroAll(MacroContext mc, const char * n)
++{
++      MacroEntry * mep;
++
++      if (mc == NULL) mc = rpmGlobalMacroContext;
++      /* If name exists, pop entry */
++      while ((mep = findEntry(mc, n, 0)) != NULL) {
++              delMacro(mc, n);
++      }
++}
++
+ /*@-mustmod@*/ /* LCL: mc is modified through mb->mc, mb is abstract */
+ int
+ rpmDefineMacro(MacroContext mc, const char * macro, int level)
diff --git a/rpm-user_group.sh b/rpm-user_group.sh
new file mode 100644 (file)
index 0000000..6380657
--- /dev/null
@@ -0,0 +1,145 @@
+#!/bin/sh
+
+[ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
+[ -z "$RPM_SCRIPTVERBOSITY" ] && RPM_SCRIPTVERBOSITY=5
+
+# aborts program abnormally
+die() {
+       local rc=${2:-1}
+       if [ "$1" ]; then
+               echo >&2 "ERROR: $1"
+       else
+               echo >&2 "ERROR"
+       fi
+       exit $rc
+}
+
+bannercmd() {
+       if [ "$BANNERCMD" = cat ]; then
+               echo cat
+       else
+               if [ "$RPM_SCRIPTVERBOSITY" -lt 2 ]; then
+                       echo "$BANNERCMD -M $1"
+               else
+                       echo "$BANNERCMD -s -M $1"
+               fi
+       fi
+}
+
+testrm() {
+       local mode=$1
+       local name=$2
+
+       [ "$RPM_USERDEL" != yes ] || [ ! -x /bin/rpm ] && return 1
+       [ -z "$name" ] && return 2
+       rpm -q --whatprovides "$mode($name)" >/dev/null 2>&1
+       # no package Provides it (strange)
+       [ $? -ne 0 ] && return 0
+       # only current package Provides it
+       [ $(rpm -q --whatprovides "$mode($name)" | wc -l) -lt 2 ] && return 0
+       return 1
+}
+
+groupremove() {
+       local name="$1"
+       local gid=$(getgid "$name" 2>/dev/null)
+
+       echo "Removing group $name" | $(bannercmd "groupdel-$name")
+       /usr/sbin/groupdel $name || :
+
+       # flush nscd cache
+       [ ! -x /usr/sbin/nscd ] || /usr/sbin/nscd -i group
+}
+
+userremove() {
+       local uid=$(id -un "$name" 2>/dev/null)
+
+       echo "Removing user $name" | $(bannercmd "userdel-$name")
+       /usr/sbin/userdel $name || :
+
+       # flush nscd cache
+       [ ! -x /usr/sbin/nscd ] || /usr/sbin/nscd -i passwd
+}
+
+remove() {
+       local mode=$1
+       local name=$2
+       if ! testrm $mode $name; then
+               return
+       fi
+
+       ${mode}remove $name
+}
+
+addtogroup() {
+       local user="$1"
+       local group="$2"
+       local uid=$(id -un "$user" 2>/dev/null)
+       local gid=$(getgid "$group" 2>/dev/null)
+
+       if [ -z "$gid" ]; then
+               if [ "$quiet" ]; then
+                       return
+               else
+                       die "group $group does not exist"
+               fi
+       fi
+
+       if [ -z "$uid" ]; then
+               if [ "$quiet" ]; then
+                       return
+               else
+                       die "user $user does not exist"
+               fi
+       fi
+
+       groups=$(id -n -G $user)
+       if [[ " $groups " != *\ $group\ * ]]; then
+               echo "Adding user $user to group $group" | $(bannercmd "${MODE}mod-$user")
+               for grp in $groups $group; do
+                       new="$new${new:+,}$grp"
+               done
+               usermod -G "$new" $user
+       fi
+}
+
+if [ -x /usr/bin/banner.sh ]; then
+       BANNERCMD="/usr/bin/banner.sh "
+       BANNERPARA="-s -M user-group.error"
+else
+       BANNERCMD="cat"
+       BANNERPARA=""
+fi
+
+if [ "$1" = user -o "$1" = group ]; then
+       MODE=$1
+       shift
+else
+       die "Invalid usage"
+fi
+
+# quiet mode cames from $ENV
+quiet=$quiet
+
+case "$1" in
+testrm)
+       testrm $MODE $2
+       exit $?
+       ;;
+
+del)
+       remove $MODE $2
+       exit $?
+       ;;
+
+addtogroup)
+       if [ "$MODE" = "user" ]; then
+               if [ -z "$2" -o -z "$3" ]; then
+                       die "Invalid usage"
+               fi
+               addtogroup $2 $3
+       fi
+       ;;
+*)
+       die "Invalid usage" 2
+esac
diff --git a/rpm.groups b/rpm.groups
new file mode 100644 (file)
index 0000000..1f41589
--- /dev/null
@@ -0,0 +1,1600 @@
+Applications
+       [cs]:           Aplikace
+       [da]:           Programmer
+       [de]:           Applikationen
+       [es]:           Aplicaciones
+       [fr]:           Applications
+       [id]:           Aplikasi
+       [is]:           Forrit
+       [it]:           Applicazioni
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
+       [nb]:           Applikasjoner
+       [pl]:           Aplikacje
+       [pt]:           Aplicações
+       [pt_BR]:        Aplicações
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ
+       [sl]:           Programi
+       [sv]:           Tillämpningar
+       [uk]:           Прикладні Програми
+
+Applications/Archiving
+       [cs]:           Aplikace/Archivování
+       [da]:           Programmer/Arkivering
+       [de]:           Applikationen/Archivierung
+       [es]:           Aplicaciones/Archivar
+       [fr]:           Applications/Archivage
+       [is]:           Forrit/Þjöppun
+       [it]:           Applicazioni/Archiviazione
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¢¡¼¥«¥¤¥Ö
+       [nb]:           Applikasjoner/Arkivering
+       [pl]:           Aplikacje/Archiwizacja
+       [pt]:           Aplicações/Arquivos
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/áÒÈÉ×ÁÃÉÑ
+       [sl]:           Programi/Arhiviranje
+       [sv]:           Tillämpningar/Arkivering
+       [uk]:           Прикладні Програми/Архівація
+
+Applications/Communications
+       [cs]:           Aplikace/Komunikace
+       [da]:           Programmer/Kommunikation
+       [de]:           Applikationen/Kommunikation
+       [es]:           Aplicaciones/Comunicaciones
+       [fr]:           Applications/Transmissions
+       [is]:           Forrit/Samskipti
+       [it]:           Applicazioni/Comunicazioni
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/ÄÌ¿®
+       [nb]:           Applikasjoner/Kommunikasjon
+       [pl]:           Aplikacje/Komunikacja
+       [pt]:           Aplicações/Comunicações
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ëÏÍÍÕÎÉËÁÃÉÉ
+       [sl]:           Programi/Komunikacije
+       [sv]:           Tillämpningar/Kommunikation
+       [uk]:           Прикладні Програми/Комунікації
+
+Applications/Console
+       [cs]:           Aplikace/Konzole
+       [da]:           Programmer/Konsol
+       [de]:           Applikationen/Konsole
+       [es]:           Aplicaciones/Consola
+       [fr]:           Applications/Console
+       [is]:           Forrit/Stjórnskjá
+       [it]:           Applicazioni/Console
+       [nb]:           Applikasjoner/Konsollet
+       [pl]:           Aplikacje/Konsola
+       [pt]:           Aplicações/Console
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ëÏÎÓÏÌØ
+       [sv]:           Tillämpningar/Konsolen
+       [uk]:           Прикладні Програми/Консоль
+
+Applications/Databases
+       [cs]:           Aplikace/Databáze
+       [da]:           Programmer/Databaser
+       [de]:           Applikationen/Datenbanken
+       [es]:           Aplicaciones/Bases de Datos
+       [fr]:           Applications/Bases de Données
+       [id]:           Aplikasi/Database
+       [is]:           Forrit/Gagnagrunnar
+       [it]:           Applicazioni/Database
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ç¡¼¥¿¥Ù¡¼¥¹
+       [nb]:           Applikasjoner/Databaser
+       [pl]:           Aplikacje/Bazy Danych
+       [pt]:           Aplicações/Bases de Dados
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/âÁÚÙ ÄÁÎÎÙÈ
+       [sl]:           Programi/Zbirke podatkov
+       [sv]:           Tillämpningar/Databaser
+       [uk]:           Прикладні Програми/Бази даних
+
+Applications/Databases/Interfaces
+       [cs]:           Aplikace/Databáze/Rozhraní
+       [da]:           Programmer/Databaser/Grænsefladen
+       [de]:           Applikationen/Datenbanken/Schnittstellen
+       [es]:           Aplicaciones/Bases de Datos/Interfaces
+       [fr]:           Applications/Bases de données/Interfaces
+       [is]:           Forrit/Gagnagrunnar/Viðmót
+       [it]:           Applicazioni/Database/Interfacce
+       [nb]:           Applikasjoner/Databaser/Grensesnitt
+       [pl]:           Aplikacje/Bazy Danych/Interfejsy
+       [pt]:           Aplicações/Bases de Dados/Interfaces
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/âÁÚÙ ÄÁÎÎÙÈ/éÎÔÅÒÆÅÊÓÙ
+       [sl]:           Programi/Zbirke podatkov/Vmesniki
+       [sv]:           Tillämpningar/Databaser/Gränssnitten
+       [uk]:           Прикладні Програми/Бази даних/Інтерфейсі
+
+Applications/Dictionaries
+       [cs]:           Aplikace/Slovníky
+       [da]:           Programmer/Ordbøger
+       [de]:           Applikationen/Wörterbücher
+       [es]:           Aplicaciones/Diccionarios
+       [fr]:           Applications/Dictionaires
+       [is]:           Forrit/Orðabókum
+       [it]:           Applicazioni/Dizionari
+       [nb]:           Applikasjoner/Ordbøker
+       [pl]:           Aplikacje/S³owniki
+       [pt]:           Aplicações/Dicionários
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/óÌÏ×ÁÒÉ
+       [sl]:           Programi/Slovarji
+       [sv]:           Tillämpningar/Ordlistor
+       [uk]:           Прикладні Програми/Словники
+
+Applications/Editors
+       [cs]:           Aplikace/Editory
+       [da]:           Programmer/Tekstbehandlere
+       [de]:           Applikationen/Editoren
+       [es]:           Aplicaciones/Editores
+       [fr]:           Applications/Editeurs
+       [is]:           Forrit/Ritlar
+       [it]:           Applicazioni/Editor
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿
+       [nb]:           Applikasjoner/Editorer
+       [pl]:           Aplikacje/Edytory
+       [pt]:           Aplicações/Editores
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ
+       [sl]:           Programi/Urejevalniki
+       [sv]:           Tillämpningar/Editorer
+       [uk]:           Прикладні Програми/Редактори
+
+Applications/Editors/Emacs
+       [cs]:           Aplikace/Editory/Emacs
+       [da]:           Programmer/Tekstbehandlere/Emacs
+       [de]:           Applikationen/Editoren/Emacs
+       [es]:           Aplicaciones/Editores/Emacs
+       [fr]:           Applications/Editeurs/Emacs
+       [is]:           Forrit/Ritlar/Emacs
+       [it]:           Applicazioni/Editor/Emacs
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿/Emacs
+       [nb]:           Applikasjoner/Editorer/Emacs
+       [pl]:           Aplikacje/Edytory/Emacs
+       [pt]:           Aplicações/Editores/Emacs
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ/Emacs
+       [sl]:           Programi/Urejevalniki/Emacs
+       [sv]:           Tillämpningar/Editorer/Emacs
+       [uk]:           Прикладні Програми/Редактори/Emacs
+
+Applications/Editors/Vim
+       [cs]:           Aplikace/Editory/Vim
+       [da]:           Programmer/Tekstbehandlere/Vim
+       [de]:           Applikationen/Editoren/Vim
+       [es]:           Aplicaciones/Editores/Vim
+       [fr]:           Applications/Editeurs/Vim
+       [is]:           Forrit/Ritlar/Vim
+       [it]:           Applicazioni/Editor/Vim
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿/Vim
+       [nb]:           Applikasjoner/Editorer/Vim
+       [pl]:           Aplikacje/Edytory/Vim
+       [pt]:           Aplicações/Editores/Vim
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ/Vim
+       [sl]:           Programi/Urejevalniki/Vim
+       [sv]:           Tillämpningar/Editorer/Vim
+       [uk]:           Прикладні Програми/Редактори/Vim
+
+Applications/Editors/XEmacs
+       [cs]:           Aplikace/Editory/XEmacs
+       [da]:           Programmer/Tekstbehandlere/XEmacs
+       [de]:           Applikationen/Editoren/XEmacs
+       [es]:           Aplicaciones/Editores/XEmacs
+       [fr]:           Applications/Editeurs/XEmacs
+       [is]:           Forrit/Ritlar/XEmacs
+       [it]:           Applicazioni/Editor/XEmacs
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿/XEmacs
+       [nb]:           Applikasjoner/Editorer/XEmacs
+       [pl]:           Aplikacje/Edytory/XEmacs
+       [pt]:           Aplicações/Editores/XEmacs
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ/XEmacs
+       [sl]:           Programi/Urejevalniki/XEmacs
+       [sv]:           Tillämpningar/Editorer/XEmacs
+       [uk]:           Прикладні Програми/Редактори/XEmacs
+
+Applications/Emulators
+       [da]:           Programmer/Emulatorer
+       [de]:           Applikationen/Emulatoren
+       [es]:           Aplicaciones/Emuladores
+       [fr]:           Applications/Émulateurs
+       [is]:           Forrit/Hermar
+       [it]:           Applicazioni/Emulatori
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥ß¥å¥ì¡¼¥¿
+       [nb]:           Applikasjoner/Emulatorer
+       [pl]:           Aplikacje/Emulatory
+       [pt]:           Aplicações/Emuladores
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/üÍÕÌÑÔÏÒÙ
+       [sl]:           Programi/Emulatorji
+       [sv]:           Tillämpningar/Emulatorer
+       [uk]:           Прикладні Програми/Емулятори
+
+Applications/Engineering
+       [cs]:           Aplikace/In¾enýrské
+       [da]:           Programmer/Ingeniørarbejde
+       [de]:           Applikationen/Technik
+       [es]:           Aplicaciones/Ingeniería
+       [fr]:           Applications/Ingénierie
+       [is]:           Forrit/Verkfræði
+       [it]:           Applicazioni/Engineering
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°
+       [nb]:           Applikasjoner/Teknisk
+       [pl]:           Aplikacje/In¿ynierskie
+       [pt]:           Aplicações/Engenharia
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÎÖÅÎÅÒÎÙÅ ÐÒÉÌÏÖÅÎÉÑ
+       [sl]:           Programi/In¾enirstvo
+       [sv]:           Tillämpningar/Konstruktion
+
+Applications/File
+       [cs]:           Aplikace/Práce se soubory
+       [da]:           Programmer/Filer
+       [de]:           Applikationen/Datei
+       [es]:           Aplicaciones/Archivos
+       [fr]:           Applications/Fichiers
+       [is]:           Forrit/Skráatól
+       [it]:           Applicazioni/File
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Õ¥¡¥¤¥ë
+       [nb]:           Applikasjoner/Fil
+       [pl]:           Aplikacje/Pliki
+       [pt]:           Aplicações/Ficheiros
+       [pt_BR]:        Aplicações/Arquivos
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/æÁÊÌÏ×ÙÅ ÕÔÉÌÉÔÙ
+       [sl]:           Programi/Datoteke
+       [sv]:           Tillämpningar/Fil
+       [uk]:           Прикладні Програми/Файлові утиліти
+
+Applications/Graphics
+       [cs]:           Aplikace/Grafika
+       [da]:           Programmer/Grafik
+       [de]:           Applikationen/Graphiken
+       [es]:           Aplicaciones/Gráficos
+       [fr]:           Applications/Graphiques
+       [id]:           Aplikasi/Grafik
+       [is]:           Forrit/Myndvinnsla
+       [it]:           Applicazioni/Immagini
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥°¥é¥Õ¥£¥Ã¥¯¥¹
+       [nb]:           Applikasjoner/Grafikk
+       [pl]:           Aplikacje/Grafika
+       [pt]:           Aplicações/Gráficos
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/çÒÁÆÉËÁ
+       [sl]:           Programi/Grafika
+       [sv]:           Tillämpningar/Grafik
+       [uk]:           Прикладні Програми/Графіка
+
+Applications/Games
+       [cs]:           Aplikace/Hry
+       [da]:           Programmer/Spil
+       [de]:           Applikationen/Spiele
+       [es]:           Aplicaciones/Juegos
+       [fr]:           Applications/Jeux
+       [is]:           Forrit/Leikir
+       [it]:           Applicazioni/Giochi
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥²¡¼¥à
+       [nb]:           Applikasjoner/Spill
+       [pl]:           Aplikacje/Gry
+       [pt]:           Aplicações/Jogos
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÇÒÙ
+       [sl]:           Programi/Igre
+       [sv]:           Tillämpningar/Spel
+       [uk]:           Прикладні Програми/Ігри
+
+Applications/Games/Boards
+       [pl]:           Aplikacje/Gry/Planszowe
+
+Applications/Mail
+       [cs]:           Aplikace/Po¹ta
+       [da]:           Programmer/Post
+       [de]:           Applikationen/Post
+       [es]:           Aplicaciones/Correo Electrónico
+       [fr]:           Applications/Courrier
+       [is]:           Forrit/Póst
+       [it]:           Applicazioni/Posta
+       [nb]:           Applikasjoner/Epost
+       [pl]:           Aplikacje/Poczta
+       [pt]:           Aplicações/Correio Eletrônico
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/üÌÅËÔÒÏÎÎÁÑ ÐÏÞÔÁ
+       [sl]:           Programi/Po¹tna
+       [sv]:           Tillämpningar/Post
+       [uk]:           Прикладні Програми/Пошта
+
+Applications/Math
+       [cs]:           Aplikace/Matematické
+       [da]:           Programmer/Matematik
+       [de]:           Applikationen/Mathematik
+       [es]:           Aplicaciones/Matemáticas
+       [fr]:           Applications/Mathématiques
+       [it]:           Applicazioni/Matematiche
+       [nb]:           Applikasjoner/Matematiske
+       [pl]:           Aplikacje/Matematyczne
+       [pt]:           Aplicações/Matemática
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/íÁÔÅÍÁÔÉÞÅÓËÉÅ
+       [sl]:           Programi/Matematièni
+       [sv]:           Tillämpningar/Matemataisk
+       [uk]:           Прикладні Програми/Математика
+
+Applications/Multimedia
+       [cs]:           Aplikace/Multimédia
+       [da]:           Programmer/Multimedie
+       [de]:           Applikationen/Multimedien
+       [es]:           Aplicaciones/Multimedia
+       [fr]:           Applications/Multimédia
+       [is]:           Forrit/Margmiðlun
+       [it]:           Applicazioni/Multimedia
+       [ja]:           ¥ê¥±¡¼¥·¥ç¥ó/¥Þ¥ë¥Á¥á¥Ç¥£¥¢
+       [nb]:           Programmer/Multimedia
+       [pl]:           Aplikacje/Multimedia
+       [pt]:           Aplicações/Multimédia
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/íÕÌØÔÉÍÅÄÉÁ
+       [sl]:           Programi/Veèpredstavnost
+       [sv]:           Tillämpningar/Multimedia
+       [uk]:           Прикладні Програми/Мультимедіа
+
+Applications/Networking
+       [cs]:           Aplikace/Sí»ové
+       [da]:           Programmer/Netværks
+       [de]:           Applikationen/Netzwerkwesen
+       [es]:           Aplicaciones/Red
+       [fr]:           Applications/Réseau
+       [is]:           Forrit/Net
+       [it]:           Applicazioni/Rete
+       [nb]:           Applikasjoner/Nettverk
+       [pl]:           Aplikacje/Sieciowe
+       [pt]:           Aplicações/Rede
+       [pt_BR]:        Aplicações/Rede
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/óÅÔØ
+       [sl]:           Programi/Omre¾ni
+       [sv]:           Tillämpningar/Nätverk
+       [uk]:           Прикладні Програми/Мережа
+
+Applications/News
+       [cs]:           Aplikace/News
+       [da]:           Programmer/Nyheder
+       [de]:           Applikationen/News
+       [es]:           Aplicaciones/Noticias
+       [fr]:           Applications/Nouvelles
+       [is]:           Forrit/Fréttir
+       [it]:           Applicazioni/News
+       [nb]:           Applikasjoner/News
+       [pl]:           Aplikacje/News
+       [pt]:           Aplicações/News
+       [pt_BR]:        Aplicações/News
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/îÏ×ÏÓÔÉ
+       [sl]:           Programi/Novièarske
+       [sv]:           Tillämpningar/Nyheter
+       [uk]:           Прикладні Програми/Новини
+
+Applications/Printing
+       [cs]:           Aplikace/Tisk
+       [da]:           Programmer/Udskrift
+       [de]:           Applikationen/Drucken
+       [es]:           Aplicaciones/Impresión
+       [fr]:           Applications/Impression
+       [is]:           Forrit/Þróað
+       [it]:           Applicazioni/Stampa
+       [nb]:           Applikasjoner/Utskrift
+       [pl]:           Aplikacje/Drukowanie
+       [pt]:           Aplicações/Impressão
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ðÅÞÁÔØ
+       [sl]:           Programi/Tiskanje
+       [sv]:           Tillämpningar/Utskrift
+       [uk]:           Прикладні Програми/Друк
+
+Applications/Publishing
+       [cs]:           Aplikace/Publikování
+       [da]:           Programmer/Udgivelse
+       [de]:           Applikationen/Publizieren
+       [es]:           Aplicaciones/Edición
+       [fr]:           Applications/Edition
+       [is]:           Forrit/Umbrot
+       [it]:           Applicazioni/Publishing
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°
+       [nb]:           Applikasjoner/Publisering
+       [pl]:           Aplikacje/Publikowanie
+       [pt]:           Aplicações/Publicação
+       [pt_BR]:        Aplicações/Editoração
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ôÉÐÏÇÒÁÆÉÑ
+       [sl]:           Programi/Zalo¾ni¹tvo
+       [sv]:           Tillämpningar/Publicering
+       [uk]:           Прикладні Програми/Типографія
+
+Applications/Publishing/SGML
+       [cs]:           Aplikace/Publikování/SGML
+       [da]:           Programmer/Udgivelse/SGML
+       [de]:           Applikationen/Publizieren/SGML
+       [es]:           Aplicaciones/Edición/SGML
+       [fr]:           Applications/Edition/SGML
+       [is]:           Forrit/Umbrot/SGML
+       [it]:           Applicazioni/Publishing/SGML
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/SGML
+       [nb]:           Applikasjoner/Publisering/SGML
+       [pl]:           Aplikacje/Publikowanie/SGML
+       [pt]:           Aplicações/Publicação/SGML
+       [pt_BR]:        Aplicações/Editoração/SGML
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/SGML
+       [sl]:           Programi/Zalo¾ni¹tvo/SGML
+       [sv]:           Tillämpningar/Publicering/SGML
+       [uk]:           Прикладні Програми/Типографія/SGML
+
+Applications/Publishing/TeX
+       [cs]:           Aplikace/Publikování/TeX
+       [da]:           Programmer/Udgivelse/TeX
+       [de]:           Applikationen/Publizieren/TeX
+       [es]:           Aplicaciones/Edición/TeX
+       [fr]:           Applications/Edition/TeX
+       [is]:           Forrit/Umbrot/TeX
+       [it]:           Applicazioni/Publishing/TeX
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/TeX
+       [nb]:           Applikasjoner/Publisering/TeX
+       [pl]:           Aplikacje/Publikowanie/TeX
+       [pt]:           Aplicações/Publicação/TeX
+       [pt_BR]:        Aplicações/Editoração/TeX
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/TeX
+       [sl]:           Programi/Zalo¾ni¹tvo/TeX
+       [sv]:           Tillämpningar/Publicering/TeX
+       [uk]:           Прикладні Програми/Типографія/TeX
+
+Applications/Publishing/XML
+       [cs]:           Aplikace/Publikování/XML
+       [da]:           Programmer/Udgivelse/XML
+       [de]:           Applikationen/Publizieren/XML
+       [es]:           Aplicaciones/Edición/XML
+       [fr]:           Applications/Edition/XML
+       [is]:           Forrit/Umbrot/XML
+       [it]:           Applicazioni/Publishing/XML
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/XML
+       [nb]:           Applikasjoner/Publisering/XML
+       [pl]:           Aplikacje/Publikowanie/XML
+       [pt]:           Aplicações/Publicação/XML
+       [pt_BR]:        Aplicações/Editoração/XML
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/XML
+       [sl]:           Programi/Zalo¾ni¹tvo/XML
+       [sv]:           Tillämpningar/Publicering/XML
+       [uk]:           Прикладні Програми/Типографія/XML
+
+Applications/Publishing/XML/Java
+       [cs]:           Aplikace/Publikování/XML/Java
+       [da]:           Programmer/Udgivelse/XML/Java
+       [de]:           Applikationen/Publizieren/XML/Java
+       [es]:           Aplicaciones/Edición/XML/Java
+       [fr]:           Applications/Edition/XML/Java
+       [is]:           Forrit/Umbrot/XML/Java
+       [it]:           Applicazioni/Publishing/XML/Java
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/XML/Java
+       [nb]:           Applikasjoner/Publisering/XML/Java
+       [pl]:           Aplikacje/Publikowanie/XML/Java
+       [pt]:           Aplicações/Publicação/XML/Java
+       [pt_BR]:        Aplicações/Editoração/XML/Java
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/XML/Java
+       [sl]:           Programi/Zalo¾ni¹tvo/XML/Java
+       [sv]:           Tillämpningar/Publicering/XML/Java
+       [uk]:           Прикладні Програми/Типографія/XML/Java
+
+Applications/Science
+       [cs]:           Aplikace/Vìdecké
+       [de]:           Applikationen/Wissenschaft
+       [es]:           Aplicaciones/Ciencia
+       [fr]:           Applications/Science
+       [it]:           Applicazioni/Sciencia
+       [pl]:           Aplikacje/Nauka
+       [pt]:           Aplicações/Ciência
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/îÁÕËÁ
+       [sv]:           Tillämpningar/Vetenskaplig
+       [uk]:           Прикладні Програми/Наука
+
+Applications/Shells
+       [cs]:           Aplikace/Shelly
+       [da]:           Programmer/Skaller
+       [de]:           Applikationen/Shells
+       [es]:           Aplicaciones/Shells
+       [fr]:           Applications/Shells
+       [is]:           Forrit/Skeljar
+       [it]:           Applicazioni/Shell
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥·¥§¥ë
+       [nb]:           Applikasjoner/Skall
+       [pl]:           Aplikacje/Pow³oki
+       [pt]:           Aplicações/Shells
+       [pt_BR]:        Aplicações/Shells
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ëÏÍÁÎÄÎÙÅ ÐÒÏÃÅÓÓÏÒÙ
+       [sl]:           Programi/Ukazne lupine
+       [sv]:           Tillämpningar/Skal
+       [uk]:           Прикладні Програми/Командні процесори
+
+Applications/Sound
+       [cs]:           Aplikace/Zvuk
+       [da]:           Programmer/Lyd
+       [de]:           Applikationen/Laut
+       [es]:           Aplicaciones/Sonido
+       [fr]:           Aplications/Son
+       [is]:           Forrit/Hljóð
+       [it]:           Applicazioni/Audio
+       [nb]:           Applikasjoner/Lyd
+       [pl]:           Aplikacje/D¼wiêk
+       [pt]:           Aplicações/Som
+       [pt_BR]:        Aplicações/Som
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ú×ÕË
+       [sl]:           Programi/Zvok
+       [sv]:           Tillämpningar/Ljud
+       [uk]:           Прикладні Програми/Звук
+
+Applications/Spreadsheets
+       [cs]:           Aplikace/Tabulkove procesorý
+       [da]:           Programmer/Regneark
+       [de]:           Applikationen/Arbeitsblätter
+       [es]:           Aplicaciones/Hojas de Cálculo
+       [fr]:           Applications/Tableurs
+       [is]:           Forrit/Töflureikni
+       [it]:           Applicazioni/Fogli di calcolo
+       [nb]:           Applikasjoner/Regneark
+       [pl]:           Aplikacje/Arkusze kalkulacyjne
+       [pt]:           Aplicações/Folhas de Cálculo
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/üÌÅËÔÒÏÎÎÙÅ ÔÁÂÌÉÃÙ
+       [sl]:           Programi/Preglednice
+       [sv]:           Tillämpningar/Kalkylark
+       [uk]:           Прикладні Програми/Електронна таблиця
+
+Applications/System
+       [cs]:           Aplikace/Systém
+       [da]:           Programmer/System
+       [de]:           Applikationen/System
+       [es]:           Aplicaciones/Sistema
+       [fr]:           Applications/Système
+       [is]:           Forrit/Kerfisforrit
+       [it]:           Applicazioni/Sistema
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥·¥¹¥Æ¥à
+       [nb]:           Applikasjoner/System
+       [pl]:           Aplikacje/System
+       [pt]:           Aplicações/Sistema
+       [pt_BR]:        Aplicações/Sistema
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/óÉÓÔÅÍÁ
+       [sl]:           Programi/Sistem
+       [sv]:           Tillämpningar/System
+       [uk]:           Прикладні Програми/Система
+
+Applications/Terminal
+       [cs]:           Aplikace/Terminál
+       [da]:           Programmer/Terminal
+       [de]:           Applikationen/Terminal
+       [es]:           Aplicaciones/Terminal
+       [fr]:           Applications/Terminal
+       [is]:           Forrit/Textaskilum
+       [it]:           Applicazioni/Terminale
+       [nb]:           Applikasjoner/Terminal
+       [pl]:           Aplikacje/Terminal
+       [pt]:           Aplicações/Terminal
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ôÅÒÍÉÎÁÌ
+       [sl]:           Programi/Terminal
+       [sv]:           Tillämpningar/Terminal
+       [uk]:           Прикладні Програми/Термінали
+
+Applications/Text
+       [cs]:           Aplikace/Text
+       [da]:           Programmer/Tekst
+       [de]:           Applikationen/Text
+       [es]:           Aplicaciones/Texto
+       [fr]:           Applications/Texte
+       [is]:           Forrit/Texti
+       [it]:           Applicazioni/Testo
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Æ¥­¥¹¥È
+       [nb]:           Applikasjoner/Tekst
+       [pl]:           Aplikacje/Tekst
+       [pt]:           Aplicações/Texto
+       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ôÅËÓÔÏ×ÙÅ ÕÔÉÌÉÔÙ
+       [sl]:           Programi/Besedilo
+       [sv]:           Tillämpningar/Text
+       [uk]:           Прикладні Програми/Текстові утиліти
+
+Applications/WWW
+       [cs]:           Aplikace/WWW
+       [da]:           Programmer/WWW
+       [de]:           Applikationen/WWW
+       [es]:           Aplicaciones/WWW
+       [fr]:           Applications/WWW
+       [is]:           Forrit/WWW
+       [nb]:           Applikasjoner/WWW
+       [pl]:           Aplikacje/WWW
+       [pt]:           Aplicações/WWW
+       [sl]:           Programi/WWW
+       [sv]:           Tillämpningar/WWW
+
+Base
+       [cs]:           Základ
+       [da]:           Basal
+       [de]:           Grundsätzlich
+       [es]:           Base
+       [fr]:           Base
+       [is]:           Grunnforrit
+       [it]:           Base
+       [ja]:           ¥Ù¡¼¥¹
+       [nb]:           Basis
+       [pl]:           Podstawowe
+       [pt]:           Base
+       [pt_BR]:        Base
+       [ru]:           âÁÚÁ
+       [sl]:           Osnova
+       [sv]:           Bas
+       [uk]:           База
+
+Base/Kernel
+       [cs]:           Základ/Jádro
+       [da]:           Basal/Kerne
+       [de]:           Grundsätzlich/Kern
+       [es]:           Base/Núcleo
+       [fr]:           Base/Noyau
+       [is]:           Grunnforrit/Kjarninn
+       [it]:           Base/Kernel
+       [ja]:           ¥Ù¡¼¥¹/¥«¡¼¥Í¥ë
+       [nb]:           Basis/Kjerne
+       [pl]:           Podstawowe/J±dro
+       [pt]:           Base/Núcleo
+       [ru]:           âÁÚÁ/ñÄÒÏ
+       [sl]:           Osnova/Jedro
+       [sv]:           Bas/Kärna
+       [uk]:           База/Ядро
+
+Base/Authentication and Authorization
+       [cs]:           Základ/Autentizace a autorizace
+       [de]:           Grundsätzlich/Authentisierung und Ermächtigung
+       [es]:           Base/Autenticación y Autorización
+       [fr]:           Base/Authentification et autorisation
+       [it]:           Base/Autenticazione e autorizzazione
+       [pl]:           Podstawowe/Uwierzytelnianie i autoryzacja
+       [pt]:           Base/Autenticação e Autorização
+       [ru]:           âÁÚÁ/áÕÔÅÎÔÉÆÉËÁÃÉÑ É Á×ÔÏÒÉÚÁÃÉÑ
+       [sl]:           Osnova/Avtentikacija in identifikacija
+       [sv]:           Bas/Autentisering och Auktorisering
+       [uk]:           База/Аутентикація та авторизація
+
+Base/Utilities
+       [cs]:           Základ/Utility
+       [da]:           Basal/Værktøj
+       [de]:           Gründsätzlich/Dienstprogramme
+       [es]:           Base/Utilitarios
+       [fr]:           Base/Utilitaires
+       [is]:           Grunnforrit/Tól
+       [it]:           Base/Utility
+       [nb]:           Basis/Verktøy
+       [pl]:           Podstawowe/Narzêdzia
+       [pt]:           Base/Utilidades
+       [pt_BR]:        Base/Utilitários
+       [ru]:           âÁÚÁ/õÔÉÌÉÔÙ
+       [sl]:           Osnova/Pripomoèki
+       [sv]:           Bas/Verktyg
+       [uk]:           База/Утиліти
+
+Daemons
+       [cs]:           Démoni
+       [da]:           Dæmoner
+       [de]:           Server
+       [es]:           Servidores
+       [fr]:           Serveurs
+       [is]:           Púkar
+       [it]:           Demoni
+       [ja]:           ¥Ç¡¼¥â¥ó
+       [nb]:           Daemoner
+       [pl]:           Serwery
+       [pt]:           Servidores
+       [ru]:           äÅÍÏÎÙ
+       [sl]:           Stre¾niki
+       [sv]:           Demoner
+       [uk]:           Демони
+
+Development
+       [cs]:           Vývojové prostøedky
+       [da]:           Udvikling
+       [de]:           Entwicklung
+       [es]:           Desarrollo
+       [fr]:           Développement
+       [is]:           Þróunartól
+       [it]:           Sviluppo
+       [ja]:           ³«È¯
+       [nb]:           Utvikling
+       [pl]:           Programowanie
+       [pt]:           Desenvolvimento
+       [pt_BR]:        Desenvolvimento
+       [ru]:           òÁÚÒÁÂÏÔËÁ
+       [sl]:           Razvoj
+       [sv]:           Utveckling
+       [uk]:           Розробка
+
+Development/Building
+       [cs]:           Základ/Vývoj
+       [da]:           Udvikling/Bygge
+       [de]:           Entwicklung/Bauen
+       [es]:           Desarrollo/Construcción
+       [fr]:           Développement/Construction
+       [it]:           Sviluppo/Sviluppo
+       [nb]:           Utvikling/Bygge
+       [pl]:           Programowanie/Budowanie
+       [pt]:           Desenvolvimento/Criação
+       [ru]:           òÁÚÒÁÂÏÔËÁ/óÔÒÏÅÎÉÅ
+       [sv]:           Utveckling/Bygga
+       [uk]:           Розробка/Будова
+
+Development/Debug
+       [pl]:           Programowanie/Odpluskwianie
+
+Development/Debuggers
+       [cs]:           Vývojové prostøedky/Debuggery
+       [da]:           Udvikling/Fejlfinding
+       [de]:           Entwicklung/Debugger
+       [es]:           Desarrollo/Depuradores
+       [fr]:           Développement/Débogueurs
+       [is]:           Þróunartól/Aflúsarar
+       [it]:           Sviluppo/Debugger
+       [ja]:           ³«È¯/¥Ç¥Ð¥Ã¥¬
+       [nb]:           Utvikling/Debuggere
+       [pl]:           Programowanie/Odpluskwiacze
+       [pt]:           Desenvolvimento/Depuradores
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ïÔÌÁÄÞÉËÉ
+       [sl]:           Razvoj/Razhro¹èevalniki
+       [sv]:           Utveckling/Felsökning
+       [uk]:           Розробка/Відладчики
+
+Development/Languages
+       [cs]:           Vývojové prostøedky/Programovací jazyky
+       [da]:           Udvikling/Sprog
+       [de]:           Entwicklung/Sprachen
+       [es]:           Desarrollo/Lenguajes
+       [fr]:           Développement/Langues
+       [is]:           Þróunartól/Forritunarmál
+       [it]:           Sviluppo/Linguaggi
+       [ja]:           ³«È¯/¸À¸ì
+       [nb]:           Utvikling/Programmeringsspråk
+       [pl]:           Programowanie/Jêzyki
+       [pt]:           Desenvolvimento/Linguagens
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ
+       [sl]:           Razvoj/Jeziki
+       [sv]:           Utveckling/Språk
+       [uk]:           Розробка/Мови
+
+Development/Languages/Fortran
+       [cs]:           Vývojové prostøedky/Programovací jazyky/Fortran
+       [da]:           Udvikling/Sprog/Fortran
+       [de]:           Entwicklung/Sprachen/Fortran
+       [es]:           Desarrollo/Lenguajes/Fortran
+       [fr]:           Développement/Langues/Fortran
+       [is]:           Þróunartól/Forritunarmál/Fortran
+       [it]:           Sviluppo/Linguaggi/Fortran
+       [ja]:           ³«È¯/¸À¸ì/Fortran
+       [nb]:           Utvikling/Programmeringsspråk/Fortran
+       [pl]:           Programowanie/Jêzyki/Fortran
+       [pt]:           Desenvolvimento/Linguagens/Fortran
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Fortran
+       [sl]:           Razvoj/Jeziki/Fortran
+       [sv]:           Utveckling/Språk/Fortran
+       [uk]:           Розробка/Мови/Fortran
+
+Development/Languages/Java
+       [cs]:           Vývojové prostøedky/Programovací jazyky/Java
+       [da]:           Udvikling/Sprog/Java
+       [de]:           Entwicklung/Sprachen/Java
+       [es]:           Desarrollo/Lenguajes/Java
+       [fr]:           Développement/Langues/Java
+       [is]:           Þróunartól/Forritunarmál/Java
+       [it]:           Sviluppo/Linguaggi/Java
+       [ja]:           ³«È¯/¸À¸ì/Java
+       [nb]:           Utvikling/Programmeringsspråk/Java
+       [pl]:           Programowanie/Jêzyki/Java
+       [pt]:           Desenvolvimento/Linguagens/Java
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Java
+       [sl]:           Razvoj/Jeziki/Java
+       [sv]:           Utveckling/Språk/Java
+       [uk]:           Розробка/Мови/Java
+
+Development/Languages/Modula3
+       [cs]:           Vývojové prostøedky/Programovací jazyky/Modula3
+       [da]:           Udvikling/Sprog/Modula3
+       [de]:           Entwicklung/Sprachen/Modula3
+       [es]:           Desarrollo/Lenguajes/Modula3
+       [fr]:           Développement/Langues/Modula3
+       [is]:           Þróunartól/Forritunarmál/Modula3
+       [it]:           Sviluppo/Linguaggi/Modula3
+       [ja]:           ³«È¯/¸À¸ì/Modula3
+       [nb]:           Utvikling/Programmeringsspråk/Modula3
+       [pl]:           Programowanie/Jêzyki/Modula3
+       [pt]:           Desenvolvimento/Linguagens/Modula3
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Modula3
+       [sl]:           Razvoj/Jeziki/Modula3
+       [sv]:           Utveckling/Språk/Modula3
+       [uk]:           Розробка/Мови/Modula3
+
+Development/Languages/PHP
+       [cs]:           Vývojové prostøedky/Programovací jazyky/PHP
+       [da]:           Udvikling/Sprog/PHP
+       [de]:           Entwicklung/Sprachen/PHP
+       [es]:           Desarrollo/Lenguajes/PHP
+       [fr]:           Développement/Langues/PHP
+       [is]:           Þróunartól/Forritunarmál/PHP
+       [it]:           Sviluppo/Linguaggi/PHP
+       [ja]:           ³«È¯/¸À¸ì/PHP
+       [nb]:           Utvikling/Programmeringsspråk/PHP
+       [pl]:           Programowanie/Jêzyki/PHP
+       [pt]:           Desenvolvimento/Linguagens/PHP
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/PHP
+       [sl]:           Razvoj/Jeziki/PHP
+       [sv]:           Utveckling/Språk/PHP
+       [uk]:           Розробка/Мови/PHP
+
+Development/Languages/Perl
+       [cs]:           Vývojové prostøedky/Programovací jazyky/Perl
+       [da]:           Udvikling/Sprog/Perl
+       [de]:           Entwicklung/Sprachen/Perl
+       [es]:           Desarrollo/Lenguajes/Perl
+       [fr]:           Développement/Langues/Perl
+       [is]:           Þróunartól/Forritunarmál/Perl
+       [it]:           Sviluppo/Linguaggi/Perl
+       [ja]:           ³«È¯/¸À¸ì/Perl
+       [nb]:           Utvikling/Programmeringsspråk/Perl
+       [pl]:           Programowanie/Jêzyki/Perl
+       [pt]:           Desenvolvimento/Linguagens/Perl
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Perl
+       [sl]:           Razvoj/Jeziki/Perl
+       [sv]:           Utveckling/Språk/Perl
+       [uk]:           Розробка/Мови/Perl
+
+Development/Languages/Python
+       [cs]:           Vývojové prostøedky/Programovací jazyky/Python
+       [da]:           Udvikling/Sprog/Python
+       [de]:           Entwicklung/Sprachen/Python
+       [es]:           Desarrollo/Lenguajes/Python
+       [fr]:           Développement/Langues/Python
+       [is]:           Þróunartól/Forritunarmál/Python
+       [it]:           Sviluppo/Linguaggi/Python
+       [ja]:           ³«È¯/¸À¸ì/Python
+       [nb]:           Utvikling/Programmeringsspråk/Python
+       [pl]:           Programowanie/Jêzyki/Python
+       [pt]:           Desenvolvimento/Linguagens/Python
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Python
+       [sl]:           Razvoj/Jeziki/Python
+       [sv]:           Utveckling/Språk/Python
+       [uk]:           Розробка/Мови/Python
+
+Development/Languages/Scheme
+       [cs]:           Vývojové prostøedky/Programovací jazyky/Scheme
+       [da]:           Udvikling/Sprog/Scheme
+       [de]:           Entwicklung/Sprachen/Scheme
+       [es]:           Desarrollo/Lenguajes/Scheme
+       [fr]:           Développement/Langues/Scheme
+       [is]:           Þróunartól/Forritunarmál/Scheme
+       [it]:           Sviluppo/Linguaggi/Scheme
+       [ja]:           ³«È¯/¸À¸ì/Scheme
+       [nb]:           Utvikling/Programmeringsspråk/Scheme
+       [pl]:           Programowanie/Jêzyki/Scheme
+       [pt]:           Desenvolvimento/Linguagens/Scheme
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Scheme
+       [sl]:           Razvoj/Jeziki/Scheme
+       [sv]:           Utveckling/Språk/Scheme
+       [uk]:           Розробка/Мови/Scheme
+
+Development/Languages/Tcl
+       [cs]:           Vývojové prostøedky/Programovací jazyky/Tcl
+       [da]:           Udvikling/Sprog/Tcl
+       [de]:           Entwicklung/Sprachen/Tcl
+       [es]:           Desarrollo/Lenguajes/Tcl
+       [fr]:           Développement/Langues/Tcl
+       [is]:           Þróunartól/Forritunarmál/Tcl
+       [it]:           Sviluppo/Linguaggi/Tcl
+       [ja]:           ³«È¯/¸À¸ì/Tcl
+       [nb]:           Utvikling/Programmeringsspråk/Tcl
+       [pl]:           Programowanie/Jêzyki/Tcl
+       [pt]:           Desenvolvimento/Linguagens/Tcl
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Tcl
+       [sl]:           Razvoj/Jeziki/Tcl
+       [sv]:           Utveckling/Språk/Tcl
+       [uk]:           Розробка/Мови/Tcl
+
+Development/Libraries
+       [cs]:           Vývojové prostøedky/Knihovny
+       [da]:           Udvikling/Biblioteker
+       [de]:           Entwicklung/Bibliotheken
+       [es]:           Desarrollo/Bibliotecas
+       [fr]:           Développement/Librairies
+       [is]:           Þróunartól/Aðgerðasöfn
+       [it]:           Sviluppo/Librerie
+       [ja]:           ³«È¯/¥é¥¤¥Ö¥é¥ê
+       [nb]:           Utvikling/Bibliotek
+       [pl]:           Programowanie/Biblioteki
+       [pt]:           Desenvolvimento/Bibliotecas
+       [pt_BR]:        Desenvolvimento/Bibliotecas
+       [ru]:           òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
+       [sl]:           Razvoj/Knji¾nice
+       [sv]:           Utveckling/Bibliotek
+       [uk]:           Розробка/Бібліотеки
+
+Development/Libraries/Libc
+       [cs]:           Vývojové prostøedky/Knihovny/Libc
+       [da]:           Udvikling/Biblioteker/Libc
+       [de]:           Entwicklung/Bibliotheken/Libc
+       [es]:           Desarrollo/Bibliotecas/Libc
+       [fr]:           Développement/Librairies/Libc
+       [is]:           Þróunartól/Aðgerðasöfn/Libc
+       [it]:           Sviluppo/Librerie/Libc
+       [ja]:           ³«È¯/¥é¥¤¥Ö¥é¥ê/Libc
+       [nb]:           Utvikling/Bibliotek/Libc
+       [pl]:           Programowanie/Biblioteki/Libc
+       [pt]:           Desenvolvimento/Bibliotecas/Libc
+       [pt_BR]:        Desenvolvimento/Bibliotecas/Libc
+       [ru]:           òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ/Libc
+       [sl]:           Razvoj/Knji¾nice/Libc
+       [sv]:           Utveckling/Bibliotek/Libc
+       [uk]:           Розробка/Бібліотеки/Libc
+
+Development/Tools
+       [cs]:           Vývojové prostøedky/Nástroje
+       [da]:           Udvikling/Værktøj
+       [de]:           Entwicklung/Tools
+       [es]:           Desarrollo/Herramientas
+       [fr]:           Développement/Outils
+       [is]:           Þróunartól/Tól
+       [it]:           Sviluppo/Tool
+       [ja]:           ³«È¯/¥Ä¡¼¥ë
+       [nb]:           Utvikling/Verktøy
+       [pl]:           Programowanie/Narzêdzia
+       [pt]:           Desenvolvimento/Ferramentas
+       [ru]:           òÁÚÒÁÂÏÔËÁ/éÎÓÔÒÕÍÅÎÔÙ
+       [sl]:           Razvoj/Orodja
+       [sv]:           Utveckling/Verktyg
+       [uk]:           Розробка/Інструменти
+
+Development/Version Control
+       [cs]:           Vývojové prostøedky/Správ verzí
+       [da]:           Udvikling/Versionskontrol
+       [de]:           Entwicklung/Versionkontrolle
+       [es]:           Desarrollo/Control de Versiones
+       [fr]:           Développement/Contrôle de version
+       [is]:           Þróunartól/Útgáfu Stýring
+       [it]:           Sviluppo/Controllo della versione
+       [nb]:           Utvikling/Versjonskontroll
+       [pl]:           Programowanie/Zarz±dzanie wersjami
+       [pt]:           Desenvolvimento/Controlo de Versões
+       [ru]:           òÁÚÒÁÂÏÔËÁ/ëÏÎÔÒÏÌØ ×ÅÒÓÉÊ
+       [sl]:           Razvoj/Nadzor razlièic
+       [sv]:           Utveckling/Versionshantering
+       [uk]:           Розробка/Керуванне версіями
+
+Documentation
+       [cs]:           Dokumentace
+       [da]:           Dokumentationen
+       [de]:           Dokumentation
+       [es]:           Documentación
+       [fr]:           Documentacion
+       [is]:           Skjölun
+       [it]:           Documentazione
+       [nb]:           Dokumentasjonen
+       [pl]:           Dokumentacja
+       [pt]:           Documentação
+       [ru]:           äÏËÕÍÅÎÔÁÃÉÑ
+       [sl]:           Dokumentacija
+       [sv]:           Dokumentation
+       [uk]:           Документація
+
+Fonts
+       [cs]:           Fonty
+       [da]:           Skrifttyper
+       [de]:           Zeichensätze
+       [es]:           Fuentes
+       [fr]:           Polices
+       [is]:           Leturgerðir
+       [it]:           Font
+       [nb]:           Skrifttyper
+       [pl]:           Fonty
+       [pt]:           Tipos de Letra
+       [ru]:           ûÒÉÆÔÙ
+       [sl]:           Pisave
+       [sv]:           Typsnitt
+       [uk]:           Шрифти
+
+I18n
+
+Libraries
+       [cs]:           Knihovny
+       [da]:           Biblioteker
+       [de]:           Bibliotheken
+       [es]:           Bibliotecas
+       [fr]:           Librairies
+       [is]:           Aðgerðasöfn
+       [it]:           Librerie
+       [ja]:           ¥é¥¤¥Ö¥é¥ê
+       [nb]:           Biblioteker
+       [pl]:           Biblioteki
+       [pt]:           Bibliotecas
+       [pt_BR]:        Bibliotecas
+       [ru]:           âÉÂÌÉÏÔÅËÉ
+       [sv]:           Bibliotek
+       [sl]:           Knji¾nice
+       [uk]:           Бібліотеки
+
+Libraries/Python
+       [cs]:           Knihovny/Python
+       [da]:           Biblioteker/Python
+       [de]:           Bibliotheken/Python
+       [es]:           Bibliotecas/Python
+       [fr]:           Librairies/Python
+       [is]:           Aðgerðasöfn/Python
+       [it]:           Librerie/Python
+       [ja]:           ¥é¥¤¥Ö¥é¥ê/Python
+       [nb]:           Biblioteker/Python
+       [pl]:           Biblioteki/Python
+       [pt]:           Bibliotecas/Python
+       [pt_BR]:        Bibliotecas/Python
+       [ru]:           âÉÂÌÉÏÔÅËÉ/Python
+       [sv]:           Bibliotek/Python
+       [sl]:           Knji¾nice/Python
+       [uk]:           Бібліотеки/Python
+
+Libraries/Java
+       [cs]:           Knihovny/Java
+       [da]:           Biblioteker/Java
+       [de]:           Bibliotheken/Java
+       [es]:           Bibliotecas/Java
+       [et]:           Teegid/Java
+       [fr]:           Librairies/Java
+       [is]:           Aðgerðasöfn/Java
+       [it]:           Librerie/Java
+       [ja]:           ¥é¥¤¥Ö¥é¥ê/Java
+       [nb]:           Biblioteker/Java
+       [pl]:           Biblioteki/Java
+       [pt]:           Bibliotecas/Java
+       [pt_BR]:        Bibliotecas/Java
+       [ru]:           âÉÂÌÉÏÔÅËÉ/Java
+       [sv]:           Bibliotek/Java
+       [sl]:           Knji¾nice/Java
+       [uk]:           Бібліотеки/Java
+
+Libraries/XML
+       [cs]:           Knihovny/XML
+       [da]:           Biblioteker/XML
+       [de]:           Bibliotheken/XML
+       [es]:           Bibliotecas/XML
+       [fr]:           Librairies/XML
+       [is]:           Aðgerðasöfn/XML
+       [it]:           Librerie/XML
+       [ja]:           ¥é¥¤¥Ö¥é¥ê/XML
+       [nb]:           Biblioteker/XML
+       [pl]:           Biblioteki/XML
+       [pt]:           Bibliotecas/XML
+       [pt_BR]:        Bibliotecas/XML
+       [ru]:           âÉÂÌÉÏÔÅËÉ/XML
+       [sl]:           Knji¾nice/XML
+       [sv]:           Bibliotek/XML
+       [uk]:           Бібліотеки/XML
+
+Networking
+       [cs]:           Sí»ové
+       [da]:           Netværks
+       [de]:           Netzwerkwesen
+       [es]:           Red
+       [fr]:           Réseau
+       [is]:           Net
+       [it]:           Rete
+       [nb]:           Nettverks
+       [pl]:           Sieciowe
+       [pt]:           Rede
+       [pt_BR]:        Rede
+       [ru]:           óÅÔØ
+       [sl]:           Omre¾ni
+       [sv]:           Nätverk
+       [uk]:           Мережа
+
+Networking/Admin
+       [cs]:           Sí»ové/Administrace
+       [da]:           Netværks/Administration
+       [de]:           Netzwerkwesen/Administration
+       [es]:           Red/Administración
+       [fr]:           Réseau/Administration
+       [is]:           Net/Stjórnar
+       [it]:           Rete/Amministrazione
+       [nb]:           Nettverks/Administrasjon
+       [pl]:           Sieciowe/Administracyjne
+       [pt]:           Rede/Administração
+       [ru]:           óÅÔØ/õÐÒÁ×ÌÅÎÉÅ
+       [sv]:           Nätverk/Administration
+       [uk]:           Мережа/Керуванне
+
+Networking/Daemons
+       [cs]:           Sí»ové/Démoni
+       [da]:           Netværks/Dæmoner
+       [de]:           Netzwerkwesen/Server
+       [es]:           Red/Servidores
+       [fr]:           Réseau/Serveurs
+       [is]:           Net/Púkar
+       [it]:           Rete/Demoni
+       [nb]:           Nettverks/Daemoner
+       [pl]:           Sieciowe/Serwery
+       [pt]:           Rede/Servidores
+       [ru]:           óÅÔØ/äÅÍÏÎÙ
+       [sl]:           Omre¾ni/Stre¾niki
+       [sv]:           Nätverk/Demoner
+       [uk]:           Мережа/Демони
+
+Networking/Daemons/FTP
+       [cs]:           Sí»ové/Démoni/FTP
+       [da]:           Netværks/Dæmoner/FTP
+       [de]:           Netzwerkwesen/Server/FTP
+       [es]:           Red/Servidores/FTP
+       [fr]:           Réseau/Serveurs/FTP
+       [is]:           Net/Púkar/FTP
+       [it]:           Rete/Demoni/FTP
+       [nb]:           Nettverks/Daemoner/FTP
+       [pl]:           Sieciowe/Serwery/FTP
+       [pt]:           Rede/Servidores/FTP
+       [ru]:           óÅÔØ/äÅÍÏÎÙ/FTP
+       [sl]:           Omre¾ni/Stre¾niki/FTP
+       [sv]:           Nätverk/Demoner/FTP
+       [uk]:           Мережа/Демони/FTP
+
+Networking/Daemons/HTTP
+       [cs]:           Sí»ové/Démoni/HTTP
+       [da]:           Netværks/Dæmoner/HTTP
+       [de]:           Netzwerkwesen/Server/HTTP
+       [es]:           Red/Servidores/HTTP
+       [fr]:           Réseau/Serveurs/HTTP
+       [is]:           Net/Púkar/HTTP
+       [it]:           Rete/Demoni/HTTP
+       [nb]:           Nettverks/Daemoner/HTTP
+       [pl]:           Sieciowe/Serwery/HTTP
+       [pt]:           Rede/Servidores/HTTP
+       [ru]:           óÅÔØ/äÅÍÏÎÙ/HTTP
+       [sl]:           Omre¾ni/Stre¾niki/HTTP
+       [sv]:           Nätverk/Demoner/HTTP
+       [uk]:           Мережа/Демони/HTTP
+
+Networking/Daemons/Java
+       [cs]:           Sí»ové/Démoni/Java
+       [da]:           Netværks/Dæmoner/Java
+       [de]:           Netzwerkwesen/Server/Java
+       [es]:           Red/Servidores/Java
+       [fr]:           Réseau/Serveurs/Java
+       [is]:           Net/Púkar/Java
+       [it]:           Rete/Demoni/Java
+       [nb]:           Nettverks/Daemoner/Java
+       [pl]:           Sieciowe/Serwery/Java
+       [pt]:           Rede/Servidores/Java
+       [ru]:           óÅÔØ/äÅÍÏÎÙ/Java
+       [sl]:           Omre¾ni/Stre¾niki/Java
+       [sv]:           Nätverk/Demoner/Java
+       [uk]:           Мережа/Демони/Java
+
+Networking/Daemons/Java/Extensions
+       [cs]:           Sí»ové/Démoni/Java/Roz¹íøení
+       [da]:           Netværks/Dæmoner/Java/Udvidelser
+       [de]:           Netzwerkwesen/Server/Java/Extensionen
+       [es]:           Red/Servidores/Java/Extensiones
+       [fr]:           Réseau/Serveurs/Java/Extensions
+       [it]:           Rete/Demoni/Java/Estensioni
+       [nb]:           Nettverks/Daemoner/Java/Utvidelser
+       [pl]:           Sieciowe/Serwery/Java/Rozszerzenia
+       [pt]:           Rede/Servidores/Java/Extensões
+       [ru]:           óÅÔØ/äÅÍÏÎÙ/Java/òÁÓÛÉÒÅÎÉÑ
+       [sl]:           Omre¾ni/Stre¾niki/Java/Raz¹iritve
+       [sv]:           Nätverk/Demoner/Java/Utvidgningar
+       [uk]:           Мережа/Демони/Java/Расширение
+
+Networking/Daemons/Java/Servlets
+       [pl]:           Sieciowe/Serwery/Java/Servlety
+
+Networking/Daemons/POP3
+       [cs]:           Sí»ové/Démoni/POP3
+       [da]:           Netværks/Dæmoner/POP3
+       [de]:           Netzwerkwesen/Server/POP3
+       [es]:           Red/Servidores/POP3
+       [fr]:           Réseau/Serveurs/POP3
+       [is]:           Net/Púkar/POP3
+       [it]:           Rete/Demoni/POP3
+       [nb]:           Nettverks/Daemoner/POP3
+       [pl]:           Sieciowe/Serwery/POP3
+       [pt]:           Rede/Servidores/POP3
+       [ru]:           óÅÔØ/äÅÍÏÎÙ/POP3
+       [sl]:           Omre¾ni/Stre¾niki/POP3
+       [sv]:           Nätverk/Demoner/POP3
+       [uk]:           Мережа/Демони/POP3
+
+Networking/Daemons/Radius
+       [cs]:           Sí»ové/Démoni/Radius
+       [da]:           Netværks/Dæmoner/Radius
+       [de]:           Netzwerkwesen/Server/Radius
+       [es]:           Red/Servidores/Radius
+       [fr]:           Réseau/Serveurs/Radius
+       [is]:           Net/Púkar/Radius
+       [it]:           Rete/Demoni/Radius
+       [nb]:           Nettverks/Daemoner/Radius
+       [pl]:           Sieciowe/Serwery/Radius
+       [pt]:           Rede/Servidores/Radius
+       [ru]:           óÅÔØ/äÅÍÏÎÙ/Radius
+       [sl]:           Omre¾ni/Stre¾niki/Radius
+       [sv]:           Nätverk/Demoner/Radius
+       [uk]:           Мережа/Демони/Radius
+
+Networking/Daemons/SMTP
+       [cs]:           Sí»ové/Démoni/SMTP
+       [da]:           Netværks/Dæmoner/SMTP
+       [de]:           Netzwerkwesen/Server/SMTP
+       [es]:           Red/Servidores/SMTP
+       [fr]:           Réseau/Serveurs/SMTP
+       [is]:           Net/Púkar/SMTP
+       [it]:           Rete/Demoni/SMTP
+       [nb]:           Nettverks/Daemoner/SMTP
+       [pl]:           Sieciowe/Serwery/SMTP
+       [pt]:           Rede/Servidores/SMTP
+       [ru]:           óÅÔØ/äÅÍÏÎÙ/SMTP
+       [sl]:           Omre¾ni/Stre¾niki/SMTP
+       [sv]:           Nätverk/Demoner/SMTP
+       [uk]:           Мережа/Демони/SMTP
+
+Networking/News
+       [cs]:           Sí»ové/News
+       [da]:           Netværks/Nyheder
+       [de]:           Netzwerkwesen/News
+       [es]:           Red/Noticias
+       [fr]:           Réseau/Nouvelles
+       [is]:           Net/Fréttir
+       [it]:           Rete/News
+       [nb]:           Nettverks/News
+       [pl]:           Sieciowe/News
+       [pt]:           Rede/News
+       [pt_BR]:        Rede/News
+       [ru]:           óÅÔØ/îÏ×ÏÓÔÉ
+       [sl]:           Omre¾ni/Novièarske
+       [sv]:           Nätverk/Nyheter
+       [uk]:           Мережа/Новини
+
+Networking/Utilities
+       [cs]:           Sí»ové/Utility
+       [da]:           Netværks/Værktøj
+       [de]:           Netzwerkwesen/Dienstprogramme
+       [es]:           Red/Utilitarios
+       [fr]:           Réseau/Utilitaires
+       [is]:           Net/Tól
+       [it]:           Rete/Utility
+       [nb]:           Nettverks/Verktøy
+       [pl]:           Sieciowe/Narzêdzia
+       [pt]:           Rede/Utilidades
+       [pt_BR]:        Rede/Utilitários
+       [ru]:           óÅÔØ/õÔÉÌÉÔÙ
+       [sl]:           Omre¾ni/Pripomoèki
+       [sv]:           Nätverk/Verktyg
+       [uk]:           Мережа/Утиліти
+
+Themes
+       [cs]:           Témata
+       [da]:           Temaer
+       [de]:           Themen
+       [es]:           Temas
+       [fr]:           Thèmes
+       [is]:           Þemur
+       [it]:           Temi
+       [nb]:           Temaer
+       [pl]:           Motywy
+       [pt]:           Temas
+       [ru]:           ôÅÍÙ
+       [sv]:           Teman
+       [uk]:           Теми
+
+Themes/GTK+
+       [cs]:           Témata/GTK+
+       [da]:           Temaer/GTK+
+       [de]:           Themen/GTK+
+       [es]:           Temas/GTK+
+       [fr]:           Thèmes/GTK+
+       [is]:           Þemur/GTK+
+       [it]:           Temi/GTK+
+       [nb]:           Temaer/GTK+
+       [pl]:           Motywy/GTK+
+       [pt]:           Temas/GTK+
+       [ru]:           ôÅÍÙ/GTK+
+       [sv]:           Teman/GTK+
+       [uk]:           Теми/GTK+
+
+X11
+       [cs]:           X11
+       [da]:           X11
+       [de]:           X11
+       [es]:           X11
+       [fr]:           X11
+       [id]:           X11
+       [is]:           X11
+       [it]:           X11
+       [ja]:           X11
+       [nb]:           X11
+       [pl]:           X11
+       [pt]:           X11
+       [pt_BR]:        X11
+       [ru]:           X11
+       [sl]:           X11
+       [sv]:           X11
+       [uk]:           X11
+
+X11/Amusements
+       [cs]:           X11/Zábava
+       [da]:           X11/Underholdning
+       [de]:           X11/Unterhaltung
+       [es]:           X11/Diversiones
+       [fr]:           X11/Divertissements
+       [id]:           X11/Hiburan
+       [is]:           X11/Skemmtun
+       [it]:           X11/Divertimenti
+       [ja]:           X11/¥¢¥ß¥å¡¼¥º¥á¥ó¥È
+       [nb]:           X11/Fornøyelse
+       [pl]:           X11/Rozrywka
+       [pt]:           X11/Divertimentos
+       [ru]:           X11/òÁÚ×ÌÅÞÅÎÉÑ
+       [sl]:           X11/Zabava
+       [sv]:           X11/Underhållning
+       [uk]:           X11/Розваги
+
+X11/Applications
+       [cs]:           X11/Aplikace
+       [da]:           X11/Programmer
+       [de]:           X11/Applikationen
+       [es]:           X11/Aplicaciones
+       [fr]:           X11/Applications
+       [id]:           X11/Aplikasi
+       [is]:           X11/Forrit
+       [it]:           X11/Applicazioni
+       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
+       [nb]:           X11/Applikasjoner
+       [pl]:           X11/Aplikacje
+       [pt]:           X11/Aplicações
+       [pt_BR]:        X11/Aplicações
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ
+       [sl]:           X11/Programi
+       [sv]:           X11/Tillämpningar
+       [uk]:           X11/Прикладні Програми
+
+X11/Applications/Accessibility
+
+X11/Applications/Editors
+       [cs]:           X11/Aplikace/Editory
+       [da]:           X11/Programmer/Tekstbehandlere
+       [de]:           X11/Applikationen/Editoren
+       [es]:           X11/Aplicaciones/Editores
+       [fr]:           X11/Applications/Editeurs
+       [is]:           X11/Forrit/Ritlar
+       [it]:           X11/Applicazioni/Editor
+       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿
+       [nb]:           X11/Applikasjoner/Editorer
+       [pl]:           X11/Aplikacje/Edytory
+       [pt]:           X11/Aplicações/Editores
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ
+       [sl]:           X11/Programi/Urejevalniki
+       [sv]:           X11/Tillämpningar/Editorer
+       [uk]:           X11/Прикладні Програми/Редактори
+
+X11/Applications/Games
+       [cs]:           X11/Aplikace/Hry
+       [da]:           X11/Programmer/Spil
+       [de]:           X11/Applikationen/Spiele
+       [es]:           X11/Aplicaciones/Juegos
+       [fr]:           X11/Applications/Jeux
+       [is]:           X11/Forrit/Leikir
+       [it]:           X11/Applicazioni/Giochi
+       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥²¡¼¥à
+       [nb]:           X11/Applikasjoner/Spill
+       [pl]:           X11/Aplikacje/Gry
+       [pt]:           X11/Aplicações/Jogos
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/éÇÒÙ
+       [sl]:           X11/Programi/Igre
+       [sv]:           X11/Tillämpningar/Spel
+       [uk]:           X11/Прикладні Програми/Ігри
+
+X11/Applications/Games/Strategy
+       [cs]:           X11/Aplikace/Hry/Strategické
+       [da]:           X11/Programmer/Spil/Strategi
+       [de]:           X11/Applikationen/Spiele/Strategie
+       [es]:           X11/Aplicaciones/Juegos/Estratégico
+       [fr]:           X11/Applications/Jeux/Stratégique
+       [it]:           X11/Applicazioni/Giochi/Strategico
+       [nb]:           X11/Applikasjoner/Spill/Strategi
+       [pl]:           X11/Aplikacje/Gry/Strategiczne
+       [pt]:           X11/Aplicações/Jogos/Estratégico
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/éÇÒÙ/óÔÒÁÔÅÇÉÞÅÓËÉÅ
+       [sl]:           X11/Programi/Igre/Strate¹ke
+       [sv]:           X11/Tillämpningar/Spel/Strategi
+       [uk]:           X11/Прикладні Програми/Ігри/Стратегія
+
+X11/Applications/Graphics
+       [cs]:           X11/Aplikace/Grafika
+       [da]:           X11/Programmer/Grafik
+       [de]:           X11/Applikationen/Grafik
+       [es]:           X11/Aplicaciones/Gráficos
+       [fr]:           X11/Applications/Graphiques
+       [id]:           X11/Aplikasi/Grafik
+       [is]:           X11/Forrit/Myndvinnsla
+       [it]:           X11/Applicazioni/Immagini
+       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥°¥é¥Õ¥£¥Ã¥¯¥¹
+       [nb]:           X11/Applikasjoner/Grafikk
+       [pl]:           X11/Aplikacje/Grafika
+       [pt]:           X11/Aplicações/Gráficos
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/çÒÁÆÉËÁ
+       [sl]:           X11/Programi/Grafika
+       [sv]:           X11/Tillämpningar/Grafik
+       [uk]:           X11/Прикладні Програми/Графіка
+
+X11/Applications/Mail
+       [cs]:           X11/Aplikace/Po¹ta
+       [da]:           X11/Programmer/Post
+       [de]:           X11/Applikationen/Post
+       [es]:           X11/Aplicaciones/Correo Electrónico
+       [fr]:           X11/Applications/Courrier
+       [is]:           X11/Forrit/Póst
+       [it]:           X11/Applicazioni/Posta
+       [nb]:           X11/Applikasjoner/Epost
+       [pl]:           X11/Aplikacje/Poczta
+       [pt]:           X11/Aplicações/Correio Eletrônico
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/üÌÅËÔÒÏÎÎÁÑ ÐÏÞÔÁ
+       [sl]:           X11/Programi/Po¹tna
+       [sv]:           X11/Tillämpningar/Post
+       [uk]:           X11/Прикладні Програми/Пошта
+
+X11/Applications/Multimedia
+       [cs]:           X11/Aplikace/Multimédia
+       [da]:           X11/Programmer/Multimedie
+       [de]:           X11/Applikationen/Multimedien
+       [es]:           X11/Aplicaciones/Multimedia
+       [fr]:           X11/Applications/Multimédia
+       [is]:           X11/Forrit/Margmiðlun
+       [it]:           X11/Applicazioni/Multimedia
+       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Þ¥ë¥Á¥á¥Ç¥£¥¢
+       [nb]:           X11/Programmer/Multimedia
+       [pl]:           X11/Aplikacje/Multimedia
+       [pt]:           X11/Aplicações/Multimédia
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/íÕÌØÔÉÍÅÄÉÁ
+       [sl]:           X11/Programi/Veèpredstavnost
+       [sv]:           X11/Tillämpningar/Multimedia
+       [uk]:           X11/Прикладні Програми/Мультимедіа
+
+X11/Applications/Networking
+       [cs]:           X11/Aplikace/Sí»ové
+       [da]:           X11/Programmer/Netværks
+       [de]:           X11/Applikationen/Netzwerkwesen
+       [es]:           X11/Aplicaciones/Red
+       [fr]:           X11/Applications/Réseau
+       [is]:           X11/Forrit/Net
+       [it]:           X11/Applicazioni/Rete
+       [nb]:           X11/Applikasjoner/Nettverks
+       [pl]:           X11/Aplikacje/Sieciowe
+       [pt]:           X11/Aplicações/Rede
+       [pt_BR]:        X11/Aplicações/Rede
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/óÅÔØ
+       [sl]:           X11/Programi/Omre¾ni
+       [sv]:           X11/Tillämpningar/Nätverk
+       [uk]:           X11/Прикладні Програми/Мережа
+
+X11/Applications/Publishing
+       [cs]:           X11/Aplikace/Publikování
+       [da]:           X11/Programmer/Udgivelse
+       [de]:           X11/Applikationen/Publizieren
+       [es]:           X11/Aplicaciones/Edición
+       [fr]:           X11/Applications/Edition
+       [is]:           X11/Forrit/Umbrot
+       [it]:           X11/Applicazioni/Publishing
+       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°
+       [nb]:           X11/Applikasjoner/Publisering
+       [pl]:           X11/Aplikacje/Publikowanie
+       [pt]:           X11/Aplicações/Publicação
+       [pt_BR]:        X11/Aplicações/Editoração
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/ôÉÐÏÇÒÁÆÉÑ
+       [sl]:           X11/Programi/Zalo¾ni¹tvo
+       [sv]:           X11/Tillämpningar/Publicering
+       [uk]:           X11/Прикладні Програми/Типографія
+
+X11/Applications/Science
+       [cs]:           X11/Aplikace/Vìdecké
+       [de]:           X11/Applikationen/Wissenschaft
+       [es]:           X11/Aplicaciones/Ciencia
+       [fr]:           X11/Applications/Science
+       [it]:           X11/Applicazioni/Sciencia
+       [pl]:           X11/Aplikacje/Nauka
+       [pt]:           X11/Aplicações/Ciência
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/îÁÕËÁ
+       [sv]:           X11/Tillämpningar/Vetenskaplig
+       [uk]:           X11/Прикладні Програми/Наука
+
+X11/Applications/Sound
+       [cs]:           X11/Aplikace/Zvuk
+       [da]:           X11/Programmer/Lyd
+       [de]:           X11/Applikationen/Laut
+       [es]:           X11/Aplicaciones/Sonido
+       [fr]:           X11/Aplicações/Son
+       [is]:           X11/Forrit/Hljóð
+       [it]:           X11/Applicazioni/Audio
+       [nb]:           X11/Applikasjoner/Lyd
+       [pl]:           X11/Aplikacje/D¼wiêk
+       [pt]:           X11/Aplicações/Som
+       [pt_BR]:        X11/Aplicações/Som
+       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/ú×ÕË
+       [sl]:           X11/Programi/Zvok
+       [sv]:           X11/Tillämpningar/Ljud
+       [uk]:           X11/Прикладні Програми/Звук
+
+X11/Development/Libraries
+       [cs]:           X11/Vývojové prostøedky/Knihovny
+       [da]:           X11/Udvikling/Biblioteker
+       [de]:           X11/Entwicklung/Bibliotheken
+       [es]:           X11/Desarrollo/Bibliotecas
+       [fr]:           X11/Développement/Librairies
+       [is]:           X11/Þróunartól/Aðgerðasöfn
+       [it]:           X11/Sviluppo/Librerie
+       [ja]:           X11/³«È¯/¥é¥¤¥Ö¥é¥ê
+       [nb]:           X11/Applikasjoner/Biblioteker
+       [pl]:           X11/Programowanie/Biblioteki
+       [pt]:           X11/Desenvolvimento/Bibliotecas
+       [pt_BR]:        X11/Desenvolvimento/Bibliotecas
+       [ru]:           X11/òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
+       [sl]:           X11/Razvoj/Knji¾nice
+       [sv]:           X11/Utveckling/Bibliotek
+       [uk]:           X11/Розробка/Бібліотеки
+
+X11/Development/Tools
+       [cs]:           X11/Vývojové prostøedky/Nástroje
+       [da]:           X11/Udvikling/Værktøj
+       [de]:           X11/Entwicklung/Tools
+       [es]:           X11/Desarrollo/Herramientas
+       [fr]:           X11/Développement/Outils
+       [is]:           X11/Þróunartól/Tól
+       [it]:           X11/Sviluppo/Tool
+       [ja]:           X11/³«È¯/¥Ä¡¼¥ë
+       [nb]:           X11/Applikasjoner/Verktøy
+       [pl]:           X11/Programowanie/Narzêdzia
+       [pt]:           X11/Desenvolvimento/Ferramentas
+       [ru]:           X11/òÁÚÒÁÂÏÔËÁ/éÎÓÔÒÕÍÅÎÔÙ
+       [sl]:           X11/Razvoj/Orodja
+       [sv]:           X11/Utveckling/Verktyg
+       [uk]:           X11/Розробка/Інструменти
+
+X11/Libraries
+       [cs]:           X11/Knihovny
+       [da]:           X11/Biblioteker
+       [de]:           X11/Bibliotheken
+       [es]:           X11/Bibliotecas
+       [fr]:           X11/Librairies
+       [is]:           X11/Aðgerðasöfn
+       [it]:           X11/Librerie
+       [ja]:           X11/¥é¥¤¥Ö¥é¥ê
+       [nb]:           X11/Biblioteker
+       [pl]:           X11/Biblioteki
+       [pt]:           X11/Bibliotecas
+       [pt_BR]:        X11/Bibliotecas
+       [ru]:           X11/âÉÂÌÉÏÔÅËÉ
+       [sl]:           X11/Knji¾nice
+       [sv]:           X11/Bibliotek
+       [uk]:           X11/Бібліотеки
+
+X11/Servers
+       [cs]:           X11/Servery
+       [da]:           X11/Tjenere
+       [de]:           X11/Server
+       [es]:           X11/Servidores
+       [fr]:           X11/Serveurs
+       [is]:           X11/Þjóna
+       [it]:           X11/Server
+       [nb]:           X11/Tjenere
+       [pl]:           X11/Serwery
+       [pt]:           X11/Servidores
+       [ru]:           X11/óÅÒ×ÅÒÙ
+       [sl]:           X11/Stre¾niki
+       [sv]:           X11/Servrar
+       [uk]:           X11/Сервери
+
+X11/Window Managers
+       [cs]:           X11/Okenní mana¾ery
+       [da]:           X11/Vindueshåndtererene
+       [de]:           X11/Fenstermanagern
+       [es]:           X11/Administradores de Ventanas
+       [fr]:           X11/Gestionnaires de fenêtres
+       [is]:           X11/Gluggastjórunum
+       [it]:           X11/Window manager
+       [nb]:           X11/Vindushåndtererene
+       [pl]:           X11/Zarz±dcy okien
+       [pt]:           X11/Gestores de Janelas
+       [ru]:           X11/ïËÏÎÎÙÅ ÍÅÎÅÄÖÅÒÙ
+       [sl]:           X11/Upravljalniki
+       [sv]:           X11/Fönsterhanterarna
+       [uk]:           X11/Віконні менеджери
+
+X11/Window Managers/Tools
+       [cs]:           X11/Okenní mana¾ery/Nástroje
+       [da]:           X11/Vindueshåndtererene/Værktøj
+       [de]:           X11/Fenstermanager/Tools
+       [es]:           X11/Administradores de Ventanas/Herramientas
+       [fr]:           X11/Gestionnaires de fenêtres/Outils
+       [is]:           X11/Gluggastjórunum/Tól
+       [it]:           X11/Window manager/Tool
+       [nb]:           X11/Vindushåndtererene/Verktøy
+       [pl]:           X11/Zarz±dcy okien/Narzêdzia
+       [pt]:           X11/Gestores de Janelas/Ferramentas
+       [ru]:           X11/ïËÏÎÎÙÅ ÍÅÎÅÄÖÅÒÙ/éÎÓÔÒÕÍÅÎÔÙ
+       [sl]:           X11/Upravljalniki/Orodja
+       [sv]:           X11/Fönsterhanterarna/Verktyg
+       [uk]:           X11/Віконні менеджери/Інструменти
This page took 0.163519 seconds and 4 git commands to generate.