add base packages..
authorChang.H.S <jhs@dev3>
Tue, 27 Nov 2012 07:45:31 +0000 (16:45 +0900)
committerChang.H.S <jhs@dev3>
Tue, 27 Nov 2012 07:45:31 +0000 (16:45 +0900)
62 files changed:
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/020_auto_net_path_sortlocale_mountoptions.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/037_let_debian_rules_decide_on_CFLAGS.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/042_default_auto_master_all_commented_out.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/060_non_replicated_ping.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/061_multi_parse_fix.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/062_fix_memory_leak.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/063_misc_fixes.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/064_support_options_on_nis_maps.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/065_fix_master_map_in_ldap.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/066_canonicalise_mount_points.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_allow_disabling_bind_mounts.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_ldap_no_first_message.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/068_fix_invalid_rpcgen_code.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/069_support_spaces_in_smb_share_names.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/070_fix_regex_typo.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/071_fix_ldap_mounts.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/072_fix_auto_net_sort.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/073_configurable_locking.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/074_auto_smb_cifs.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/075_auto_net_escape_hash.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/076_ldap_deprecated.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/078_locking_fix_1.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/079_no_unlink_upstream.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/080_auto_smb_probe_credentials.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/081_auto_net_showmount_quotes.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/082_samples_makefile_typo.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/083_clarify_program_map_outputsyntax.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/084_init_lsb_header.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/085_auto_net_lp111612.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/Makefile.rules-cross.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.hotplug [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.master [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.network [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.default [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.init [new file with mode: 0755]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/cross.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/install.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/no-bash.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs-4.1.4/volatiles.99_autofs [new file with mode: 0644]
meta-openvuplus/recipes-base/autofs/autofs_4.1.4.bb [new file with mode: 0644]
meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps.bb [new file with mode: 0644]
meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/GPL-1.0 [new file with mode: 0644]
meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.info [new file with mode: 0644]
meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.kmap [new file with mode: 0644]
meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.info [new file with mode: 0644]
meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.kmap [new file with mode: 0644]
meta-openvuplus/recipes-base/fakelocale/fakelocale.bb [new file with mode: 0644]
meta-openvuplus/recipes-base/fakelocale/files/locale.alias [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg-collateral.bbappend [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg-collateral/dest [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0001-Fixed-opkg-losing-auto_installed-flag-on-upgrading.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0002-Don-t-mark-Conflicts-as-Depends.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0003-Statically-link-libopkg-and-libbb.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0004-Makefile.am-remove-g-and-O-compiler-flags.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0005-pkg_depends-remove-unused-variables-to-fix-compiler-.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0009-Revert-Add-Recommended-packages-to-the-depended_upon.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg/0010-opkg_remove-auto-delete-.pyo-files.patch [new file with mode: 0644]
meta-openvuplus/recipes-base/opkg/opkg_svn.bbappend [new file with mode: 0644]
meta-openvuplus/recipes-base/vuplus-compat/vuplus-compat_1.0.bb [new file with mode: 0644]

diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/020_auto_net_path_sortlocale_mountoptions.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/020_auto_net_path_sortlocale_mountoptions.patch
new file mode 100644 (file)
index 0000000..ed747b3
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 020_auto_net_path_sortlocale_mountoptions.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.net .A/samples/auto.net
+--- .B/samples/auto.net        2005-04-05 13:02:09.000000000 +0000
++++ .A/samples/auto.net        2007-01-07 21:36:35.000000000 +0000
+@@ -11,7 +11,7 @@
+ # add "nosymlink" here if you want to suppress symlinking local filesystems
+ # add "nonstrict" to make it OK for some filesystems to not mount
+-opts="-fstype=nfs,hard,intr,nodev,nosuid"
++opts="-fstype=nfs,hard,intr,nodev,nosuid,nonstrict,async"
+ # Showmount comes in a number of names and varieties.  "showmount" is
+ # typically an older version which accepts the '--no-headers' flag
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/037_let_debian_rules_decide_on_CFLAGS.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/037_let_debian_rules_decide_on_CFLAGS.patch
new file mode 100644 (file)
index 0000000..d0a129f
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 037_let_debian_rules_decide_on_CFLAGS.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/Makefile.rules .A/Makefile.rules
+--- .B/Makefile.rules  2004-01-29 16:01:22.000000000 +0000
++++ .A/Makefile.rules  2007-01-07 21:36:35.000000000 +0000
+@@ -17,15 +17,15 @@
+ # Compilers, linkers and flags
+ # The STRIP defined here *must not* remove any dynamic-loading symbols
+-ifdef DEBUG
+-CFLAGS    = -O2 -g -DDEBUG
+-LDFLAGS   = -g
++#ifdef DEBUG
++#CFLAGS    = -O2 -g -DDEBUG
++#LDFLAGS   = -g
+ STRIP     = :
+-else
+-CFLAGS    = -O3 -fomit-frame-pointer -Wall
+-LDFLAGS   = -s
+-STRIP     = strip --strip-debug
+-endif
++#else
++#CFLAGS    = -O3 -fomit-frame-pointer -Wall
++#LDFLAGS   = -s
++#STRIP     = strip --strip-debug
++#endif
+ CC        = gcc
+ CXX       = g++
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/042_default_auto_master_all_commented_out.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/042_default_auto_master_all_commented_out.patch
new file mode 100644 (file)
index 0000000..e3986cd
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 042_default_auto_master_all_commented_out.dpatch by
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.master .A/samples/auto.master
+--- .B/samples/auto.master     2005-01-04 14:36:54.000000000 +0000
++++ .A/samples/auto.master     2007-01-07 21:36:35.000000000 +0000
+@@ -7,5 +7,5 @@
+ # For details of the format look at autofs(5).
+ #/misc        /etc/auto.misc --timeout=60
+ #/smb /etc/auto.smb
+-/misc /etc/auto.misc
+-/net  /etc/auto.net
++#/misc        /etc/auto.misc
++#/net /etc/auto.net
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/060_non_replicated_ping.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/060_non_replicated_ping.patch
new file mode 100644 (file)
index 0000000..c8493da
--- /dev/null
@@ -0,0 +1,228 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 060_non_replicated_ping.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/modules/mount_nfs.c .A/modules/mount_nfs.c
+--- .B/modules/mount_nfs.c     2005-04-05 12:42:42.000000000 +0000
++++ .A/modules/mount_nfs.c     2007-01-07 21:36:35.000000000 +0000
+@@ -31,6 +31,7 @@
+ #include <netinet/in.h>
+ #include <linux/nfs.h>
+ #include <linux/nfs2.h>
++#include <ctype.h>
+ #define MODULE_MOUNT
+ #include "automount.h"
+@@ -105,28 +106,117 @@
+       
+       return 1;
+ }
++
++/*
++ * If the entry doesn't contain a ',' or doesn't contain more than
++ * one ':' then @what is not a replicated server entry.
++ */
++static int inline is_replicated_entry(char *what)
++{
++      return strchr(what, ',') ||
++              (strchr(what, ':') != strrchr(what, ':'));
++}
++
++/*
++ *  Check to see if the 'host:path' or 'host' is on the local machine
++ *  Returns < 0 if there is a host lookup problem, otherwise returns 0
++ *  if it's not a local mount, and returns > 0 if it is a local mount.
++ */
++int is_local_mount(const char *hostpath)
++{
++      struct hostent *he;
++      char **haddr;
++      char *delim;
++      char *hostname;
++      int hostnamelen;
++      int local = 0;
++
++      debug(MODPREFIX "is_local_mount: %s", hostpath);
++      delim = strpbrk(hostpath,":");
++
++      if (delim) 
++              hostnamelen = delim - hostpath; 
++      else 
++              hostnamelen = strlen(hostpath);
++
++      hostname = malloc(hostnamelen+1);
++      strncpy(hostname, hostpath, hostnamelen);
++      hostname[hostnamelen] = '\0';
++      he = gethostbyname(hostname);
++      if (!he) {
++              error(MODPREFIX "host %s: lookup failure", hostname);
++              return -1;
++      }
++
++      for (haddr = he->h_addr_list; *haddr; haddr++) {
++              local = is_local_addr(hostname, *haddr, he->h_length);
++              if (local < 0) 
++                      return local;
++              if (local) {
++                      debug(MODPREFIX "host %s: is localhost",
++                                      hostname);
++                      return local;
++              }
++      }
++      return 0;
++}
++
+ /*
+  * Given a mount string, return (in the same string) the
+- * best mount to use based on weight/locality/rpctime
++ * best mount to use based on locality/weight/rpctime.
++ *
++ * If longtimeout is set to 0 then we only do 100 ms pings to hosts.  In
++ * the event that this fails, we call ourself recursively with the
++ * longtimeout option set to 1.  In this case we ping for up to 10s and
++ * skip logic for detecting if a localhost has been passed. (if a local
++ * host had been passed, we would have returned that mount as the best
++ * mount.  The skipping of local maps in this case is an optimization).
++ *
+  * - return -1 and what = '\0' on error,
+  *           1 and what = local mount path if local bind,
+  *     else  0 and what = remote mount path
+  */
+-int get_best_mount(char *what, const char *original, int longtimeout, int skiplocal)
++int get_best_mount(char *what, const char *original, int longtimeout)
+ {
+       char *p = what;
+       char *winner = NULL;
+       int winner_weight = INT_MAX, local = 0;
+       double winner_time = 0;
+-      char *delim;
++      char *delim, *pstrip;
+       int sec = (longtimeout) ? 10 : 0;
+       int micros = (longtimeout) ? 0 : 100000;
++      int skiplocal = longtimeout; /* clearly local is not available */
+       if (!p) {
+               *what = '\0';
+               return -1;
+       }
++      /*
++       *  If only one mountpoint has been passed in, we don't need to
++       *  do anything except strip whitespace from the end of the string.
++       */
++      if (!is_replicated_entry(p)) {
++              for (pstrip = p+strlen(p) - 1; pstrip >= p; pstrip--) 
++                      if (isspace(*pstrip))
++                              *pstrip = '\0';
++
++              /* Check if the host is the localhost */
++              if (is_local_mount(p) > 0) {
++                      debug(MODPREFIX "host %s: is localhost", p);
++
++                      /* Strip off hostname and ':' */
++                      delim = strchr(p,':');
++                      while (delim && *delim != '\0') {
++                              delim++;
++                              *what = *delim;
++                              what++;
++                      }
++                      return 1;
++              }
++              return 0;
++      }
++
+       while (p && *p) {
+               char *next;
+               unsigned int ping_stat = 0;
+@@ -171,37 +261,17 @@
+               /* p points to a server, "next is our next parse point */
+               if (!skiplocal) {
+                       /* Check if it's localhost */
+-                      struct hostent *he;
+-                      char **haddr;
+-
+-                      he = gethostbyname(p);
+-                      if (!he) {
+-                              error(MODPREFIX "host %s: lookup failure", p);
+-                              p = next;
+-                              continue;
+-                      }
+-
+-                      /* Check each host in round robin list */
+-                      for (haddr = he->h_addr_list; *haddr; haddr++) {
+-                              local = is_local_addr(p, *haddr, he->h_length);
+-
+-                              if (local < 0)
+-                                      continue;
+-
+-                              if (local) {
+-                                      winner = p;
+-                                      break;
+-                              }
+-                      }
+-                      
++                      local = is_local_mount(p);
+                       if (local < 0) {
+                               local = 0;
+                               p = next;
+                               continue;
+                       }
+-                      if (local)
++                      if (local) {
++                              winner = p;
+                               break;
++                      }
+               }
+               /* ping each (or the) entry to see if it's alive. */
+@@ -214,6 +284,7 @@
+               /* First unweighted or only host is alive so set winner */
+               if (!winner) {
+                       winner = p;
++                      winner_time = 1;
+                       /* No more to check, return it */
+                       if (!next || !*next)
+                               break;
+@@ -256,7 +327,7 @@
+        */
+       if (!local && winner_weight == INT_MAX) {
+               /* We had more than one contender and none responded in time */
+-              if (winner_time != 0 && winner_time > 500) {
++              if (winner_time == 0 || winner_time > 500) {
+                       /* We've already tried a longer timeout */
+                       if (!longtimeout) {
+                               /* Reset string and try again */
+@@ -267,16 +338,14 @@
+                                     "retrying with longer timeout",
+                                     original);
+-                              return get_best_mount(what, original, 1, 1);
++                              return get_best_mount(what, original, 1);
+                       }
+               }
+       }
+-      /* No winner found so bail */
+-      if (!winner) {
+-              *what = '\0';
+-              return 0;
+-      }
++      /* No winner found so return first */
++      if (!winner)
++              winner = what;
+       /*
+        * We now have our winner, copy it to the front of the string,
+@@ -395,7 +464,7 @@
+               /* No colon, take this as a bind (local) entry */
+               local = 1;
+       } else if (!nosymlink) {
+-              local = get_best_mount(whatstr, what, 0, 0);
++              local = get_best_mount(whatstr, what, 0);
+               if (!*whatstr) {
+                       warn(MODPREFIX "no host elected");
+                       return 1;
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/061_multi_parse_fix.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/061_multi_parse_fix.patch
new file mode 100644 (file)
index 0000000..8b11264
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 061_multi_parse_fix.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/modules/parse_sun.c .A/modules/parse_sun.c
+--- .B/modules/parse_sun.c     2005-04-05 12:42:42.000000000 +0000
++++ .A/modules/parse_sun.c     2007-01-07 21:36:35.000000000 +0000
+@@ -766,7 +766,16 @@
+ {
+       const char *p = (char *) mapent;
+       int multi = 0;
+-      int first_chunk = 0;
++      int not_first_chunk = 0;
++
++      if (!p) {
++              crit("check_is_multi: unexpected NULL map entry pointer");
++              return 0;
++      }
++      
++      /* If first character is "/" it's a multi-mount */
++      if (*p == '/')
++              return 1;
+       while (*p) {
+               p = skipspace(p);
+@@ -779,7 +788,7 @@
+                * path that begins with '/' indicates a mutil-mount
+                * entry.
+                */
+-              if (first_chunk) {
++              if (not_first_chunk) {
+                       if (*p == '/' || *p == '-') {
+                               multi = 1;
+                               break;
+@@ -796,7 +805,7 @@
+                * after which it's a multi mount.
+                */
+               p += chunklen(p, check_colon(p));
+-              first_chunk++;
++              not_first_chunk++;
+       }
+       return multi;
+@@ -883,7 +892,12 @@
+                               return 1;
+                       }
+-                      path = dequote(p, l = chunklen(p, 0));
++                      if (*p != '/') {
++                              l = 0;
++                              path = dequote("/", 1);
++                      } else
++                               path = dequote(p, l = chunklen(p, 0));
++
+                       if (!path) {
+                               error(MODPREFIX "out of memory");
+                               free(myoptions);
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/062_fix_memory_leak.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/062_fix_memory_leak.patch
new file mode 100644 (file)
index 0000000..1ba0cea
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 062_fix_memory_leak.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/modules/mount_nfs.c .A/modules/mount_nfs.c
+--- .B/modules/mount_nfs.c     2007-01-07 21:36:35.000000000 +0000
++++ .A/modules/mount_nfs.c     2007-01-07 21:36:35.000000000 +0000
+@@ -145,16 +145,20 @@
+       he = gethostbyname(hostname);
+       if (!he) {
+               error(MODPREFIX "host %s: lookup failure", hostname);
++              free(hostname);
+               return -1;
+       }
+       for (haddr = he->h_addr_list; *haddr; haddr++) {
+               local = is_local_addr(hostname, *haddr, he->h_length);
+-              if (local < 0) 
++              if (local < 0) {
++                      free(hostname);
+                       return local;
++              }
+               if (local) {
+                       debug(MODPREFIX "host %s: is localhost",
+                                       hostname);
++                      free(hostname);
+                       return local;
+               }
+       }
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/063_misc_fixes.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/063_misc_fixes.patch
new file mode 100644 (file)
index 0000000..fcfc8a2
--- /dev/null
@@ -0,0 +1,82 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 063_misc_fixes.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/lib/cache.c .A/lib/cache.c
+--- .B/lib/cache.c     2005-02-06 06:00:53.000000000 +0000
++++ .A/lib/cache.c     2007-01-07 21:36:35.000000000 +0000
+@@ -337,8 +337,10 @@
+               if (!path)
+                       return;
+-              if (is_mounted(_PATH_MOUNTED, path))
++              if (is_mounted(_PATH_MOUNTED, path)) {
++                      free(path);
+                       continue;
++              }
+               if (me->age < age) {
+                       mapent_hash[i] = me->next;
+diff -Naur .B/modules/lookup_file.c .A/modules/lookup_file.c
+--- .B/modules/lookup_file.c   2005-04-06 15:14:23.000000000 +0000
++++ .A/modules/lookup_file.c   2007-01-07 21:36:35.000000000 +0000
+@@ -157,6 +157,10 @@
+                       break;
+               case st_compare:
++                      if (kptr - key > KEY_MAX_LEN) {
++                              state = st_badent;
++                              break;
++                      }
+                       if (ch == '\n')
+                               state = st_begin;
+                       else if (isspace(ch) && !escape) {
+diff -Naur .B/modules/parse_sun.c .A/modules/parse_sun.c
+--- .B/modules/parse_sun.c     2007-01-07 21:36:35.000000000 +0000
++++ .A/modules/parse_sun.c     2007-01-07 21:36:35.000000000 +0000
+@@ -680,6 +680,10 @@
+           "mounting root %s, mountpoint %s, what %s, fstype %s, options %s\n",
+           root, mountpoint, what, fstype, options);
++      /* A malformed entry of the form key /xyz will trigger this case */
++      if (!what || *what == '\0')
++              return 1;
++
+       if (!strcmp(fstype, "nfs")) {
+               rv = mount_nfs->mount_mount(root, mountpoint, strlen(mountpoint),
+                                           what, fstype, options, mount_nfs->context);
+@@ -695,6 +699,18 @@
+       return rv;
+ }
++static int key_exists(struct multi_mnt *list, char *path, int pathlen)
++{
++      struct multi_mnt *mmptr = list;
++
++      while (mmptr && pathlen == strlen(mmptr->path)) {
++              if (!strncmp(mmptr->path, path, pathlen))
++                      return 1;
++              mmptr = mmptr->next;
++      }
++      return 0;
++}
++
+ /*
+  * Build list of mounts in shortest -> longest order.
+  * Pass in list head and return list head.
+@@ -725,6 +741,12 @@
+               mmptr = mmptr->next;
+       }
++      /* if a multimount entry has duplicate keys, it is invalid */
++      if (key_exists(mmptr, path, plen)) {
++              free(new);
++              return NULL;
++      }
++
+       if (old)
+               old->next = new;
+       new->next = mmptr;
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/064_support_options_on_nis_maps.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/064_support_options_on_nis_maps.patch
new file mode 100644 (file)
index 0000000..b71d9f5
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 064_support_options_on_nis_maps.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/rc.autofs.in .A/samples/rc.autofs.in
+--- .B/samples/rc.autofs.in    2005-04-11 11:30:54.000000000 +0000
++++ .A/samples/rc.autofs.in    2007-01-07 21:36:35.000000000 +0000
+@@ -129,7 +129,17 @@
+     else
+         map="$1"
+     fi
+-    /usr/bin/ypcat -k "$map" 2> /dev/null | sed -e '/^#/d' -e '/^$/d'
++
++    # Append the map's options at the _start_ if there are any options already
++    # (ie. myopt -> $2,myopt), otherwise just append them at the end.
++    if [ -z "$2" ]; then
++        /usr/bin/ypcat -k "$map" 2> /dev/null | sed -e '/^#/d' -e '/^$/d'
++    else
++        /usr/bin/ypcat -k "$map" 2> /dev/null |
++        sed -e '/^#/d' -e '/^$/d' \
++            -e "s/^[ \t]*\([^ \t]\+\)[ \t]\+\([^ \t]\+\)[ \t]\+-\([^ \t]\+\)/\1 \2 $2,\3/" \
++            -e "s/^[ \t]*\([^ \t]\+\)[ \t]\+\([^ \t]\+\)[ \t]*$/\1 \2 $2/"
++    fi    
+ }
+ function getfilemounts()
+@@ -141,10 +151,11 @@
+             if [ "`echo $auto_master_in | grep '^+'`" = "" ]; then
+                 echo $auto_master_in
+             else
+-                for nismap in `cat /etc/auto.master | grep '^\+' |
+-                        sed -e '/^#/d' -e '/^$/d'`; do
+-                    catnismap `echo "$nismap" | sed -e 's/^\+//'`
+-                done
++                cat /etc/auto.master | grep '^\+' | sed -e '/^#/d' -e '/^$/d' | (
++                    while read map options; do
++                        catnismap `echo "$map" | sed -e 's/^\+//'` $options
++                    done
++                )
+             fi
+         done
+         )
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/065_fix_master_map_in_ldap.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/065_fix_master_map_in_ldap.patch
new file mode 100644 (file)
index 0000000..1898571
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 065_fix_master_map_in_ldap.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/rc.autofs.in .A/samples/rc.autofs.in
+--- .B/samples/rc.autofs.in    2007-01-07 21:36:35.000000000 +0000
++++ .A/samples/rc.autofs.in    2007-01-07 21:36:35.000000000 +0000
+@@ -175,7 +175,11 @@
+ function getldapmounts()
+ {
+     if [ -x @@autofslibdir@@/autofs-ldap-auto-master ]; then
++      [ ! -z $LDAPURI ] && export LDAPURI="$LDAPURI"
++      [ ! -z $LDAPBASE ] && export LDAPBASE="$LDAPBASE"
+         @@autofslibdir@@/autofs-ldap-auto-master 2> /dev/null
++      @@autofslibdir@@/autofs-ldap-auto-master -m automountMap \
++          -e automount -n ou -k cn -v automountInformation 2> /dev/null
+     fi
+ }
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/066_canonicalise_mount_points.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/066_canonicalise_mount_points.patch
new file mode 100644 (file)
index 0000000..0d1588c
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 066_canonicalise_mount_points.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/rc.autofs.in .A/samples/rc.autofs.in
+--- .B/samples/rc.autofs.in    2007-01-07 21:36:35.000000000 +0000
++++ .A/samples/rc.autofs.in    2007-01-07 21:36:35.000000000 +0000
+@@ -244,6 +244,13 @@
+               continue
+           fi
++          # If possible, canonicalise the path so it will always unmount
++          # cleanly.
++          link=`readlink -f "$dir"`
++          if [ ! -z "$link" ]; then
++                  dir="$link"
++          fi
++
+           # Do not include a map if it is a duplicate, maps on top of
+           # another map or another map, maps on top of it.
+           for knownmap in $knownmaps
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_allow_disabling_bind_mounts.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_allow_disabling_bind_mounts.patch
new file mode 100644 (file)
index 0000000..71ed3f1
--- /dev/null
@@ -0,0 +1,77 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 067_allow_disabling_bind_mounts.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/modules/mount_bind.c .A/modules/mount_bind.c
+--- .B/modules/mount_bind.c    2005-01-10 13:28:29.000000000 +0000
++++ .A/modules/mount_bind.c    2007-01-07 21:36:35.000000000 +0000
+@@ -107,7 +107,7 @@
+       if (options == NULL || *options == '\0')
+               options = "defaults";
+-      if (bind_works) {
++      if (bind_works && strcmp(options, "symlink") != 0) {
+               int status, existed = 1;
+               debug(MODPREFIX "calling mkdir_path %s", fullpath);
+diff -Naur .B/modules/mount_nfs.c .A/modules/mount_nfs.c
+--- .B/modules/mount_nfs.c     2007-01-07 21:36:35.000000000 +0000
++++ .A/modules/mount_nfs.c     2007-01-07 21:36:35.000000000 +0000
+@@ -391,7 +391,8 @@
+       char *whatstr;
+       char *nfsoptions = NULL;
+       int local, err;
+-      int nosymlink = 0;
++      int nosymlink = 0;     /* Actually misnamed, should be "nobind" now */
++      int symlink = 0;       /* Prefer symlinks to bind mounts? */
+       int ro = 0;            /* Set if mount bind should be read-only */
+       debug(MODPREFIX "root=%s name=%s what=%s, fstype=%s, options=%s",
+@@ -405,7 +406,10 @@
+       strcpy(whatstr, what);
+       /* Extract "nosymlink" pseudo-option which stops local filesystems
+-         from being symlinked */
++         from being bind mounted, and "symlink" pseudo-option which does not
++         do the exact opposite, but rather makes any bind mount into a
++         symlink instead. (Both nosymlink and symlink at the same time
++         make no sense, of course.) */
+       if (options) {
+               const char *comma;
+               char *nfsp;
+@@ -446,6 +450,8 @@
+ #endif
+                       if (strncmp("nosymlink", cp, end - cp + 1) == 0)
+                               nosymlink = 1;
++                      else if (strncmp("symlink", cp, end - cp + 1) == 0)
++                              symlink = 1;
+                       else {
+                               /* Check for options that also make sense
+                                  with bind mounts */
+@@ -457,8 +463,8 @@
+                       }
+               }
+-              debug(MODPREFIX "nfs options=\"%s\", nosymlink=%d, ro=%d",
+-                    nfsoptions, nosymlink, ro);
++              debug(MODPREFIX "nfs options=\"%s\", nosymlink=%d, symlink=%d, ro=%d",
++                    nfsoptions, nosymlink, symlink, ro);
+       }
+       local = 0;
+@@ -490,7 +496,11 @@
+       if (local) {
+               /* Local host -- do a "bind" */
+-              const char *bind_options = ro ? "ro" : "";
++              const char *bind_options;
++              if (symlink)
++                      bind_options = "symlink";
++              else
++                      bind_options = ro ? "ro" : "";
+               debug(MODPREFIX "%s is local, doing bind", name);
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_ldap_no_first_message.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_ldap_no_first_message.patch
new file mode 100644 (file)
index 0000000..e85d37b
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 067_ldap_no_first_message.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/modules/lookup_ldap.c .A/modules/lookup_ldap.c
+--- .B/modules/lookup_ldap.c   2005-02-27 05:37:14.000000000 +0000
++++ .A/modules/lookup_ldap.c   2007-01-07 21:36:35.000000000 +0000
+@@ -437,7 +437,7 @@
+       e = ldap_first_entry(ldap, result);
+       if (!e) {
+-              crit(MODPREFIX "got answer, but no first entry for %s", query);
++              debug(MODPREFIX "got answer, but no first entry for %s", query);
+               ldap_msgfree(result);
+               ldap_unbind(ldap);
+               return CHE_MISSING;
+@@ -545,7 +545,7 @@
+       e = ldap_first_entry(ldap, result);
+       if (!e) {
+-              crit(MODPREFIX "got answer, but no first entry for %s", query);
++              debug(MODPREFIX "got answer, but no first entry for %s", query);
+               ldap_msgfree(result);
+               ldap_unbind(ldap);
+               return CHE_MISSING;
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/068_fix_invalid_rpcgen_code.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/068_fix_invalid_rpcgen_code.patch
new file mode 100644 (file)
index 0000000..abb61ea
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 068_fix_invalid_rpcgen_code.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/lib/Makefile .A/lib/Makefile
+--- .B/lib/Makefile    2005-01-09 09:16:43.000000000 +0000
++++ .A/lib/Makefile    2007-01-07 21:36:36.000000000 +0000
+@@ -39,6 +39,10 @@
+ mount_xdr.c: mount.h
+       $(RPCGEN) -c -o mount_xdr.c mount.x
++      sed -i -e 's/IXDR_GET_LONG(\([^)]*\))/((long)IXDR_GET_U_INT32(\1))/' mount_xdr.c
++      sed -i -e 's/IXDR_PUT_LONG(\([^)]*\),\([^)]*\))/((long)IXDR_PUT_INT32(\1,(long)(\2)))/' mount_xdr.c
++      sed -i -e 's/IXDR_GET_SHORT(\([^)]*\))/((short)IXDR_GET_U_INT32(\1))/' mount_xdr.c
++      sed -i -e 's/IXDR_PUT_SHORT(\([^)]*\),\([^)]*\))/((long)IXDR_PUT_INT32(\1,(long)(\2)))/' mount_xdr.c
+ mount_xdr.o: mount_xdr.c
+       $(CC) $(CFLAGS) -Wno-unused-variable -o mount_xdr.o -c mount_xdr.c
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/069_support_spaces_in_smb_share_names.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/069_support_spaces_in_smb_share_names.patch
new file mode 100644 (file)
index 0000000..a07e966
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 069_support_spaces_in_smb_share_names.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.smb .A/samples/auto.smb
+--- .B/samples/auto.smb        2005-04-05 13:02:09.000000000 +0000
++++ .A/samples/auto.smb        2007-01-07 21:36:36.000000000 +0000
+@@ -20,7 +20,7 @@
+ $SMBCLIENT -gNL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- '
+       BEGIN   { ORS=""; first=1 }
+-      /Disk/  { if (first) { print opts; first=0 }; print " \\\n\t /" $2, "://" key "/" $2 }
++      /Disk/  { if (first) { print opts; first=0 }; sub(/ /, "\\ ", $2); print " \\\n\t /" $2, "://" key "/" $2 }
+       END     { if (!first) print "\n"; else exit 1 }
+       '
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/070_fix_regex_typo.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/070_fix_regex_typo.patch
new file mode 100644 (file)
index 0000000..46f2159
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 070_fix_regex_typo.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/rc.autofs.in .A/samples/rc.autofs.in
+--- .B/samples/rc.autofs.in    2007-01-07 21:36:35.000000000 +0000
++++ .A/samples/rc.autofs.in    2007-01-07 21:36:36.000000000 +0000
+@@ -148,7 +148,7 @@
+         cat /etc/auto.master | awk '{print $0}' | sed -e '/^#/d' -e '/^$/d' | (
+         while read auto_master_in
+         do
+-            if [ "`echo $auto_master_in | grep '^+'`" = "" ]; then
++            if [ "`echo $auto_master_in | grep '^\+'`" = "" ]; then
+                 echo $auto_master_in
+             else
+                 cat /etc/auto.master | grep '^\+' | sed -e '/^#/d' -e '/^$/d' | (
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/071_fix_ldap_mounts.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/071_fix_ldap_mounts.patch
new file mode 100644 (file)
index 0000000..ee0c4ef
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 071_fix_ldap_mounts.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/rc.autofs.in .A/samples/rc.autofs.in
+--- .B/samples/rc.autofs.in    2007-01-07 21:36:36.000000000 +0000
++++ .A/samples/rc.autofs.in    2007-01-07 21:36:36.000000000 +0000
+@@ -319,7 +319,7 @@
+               maptype=`echo $map | cut -f1 -d:`
+               # Handle degenerate map specifiers
+               if [ "$maptype" = "$map" ] ; then
+-                  if [ "$map" = "hesiod" -o "$map" = "userhome" ] ; then
++                  if [ "$map" = "hesiod" -o "$map" = "userhome" -o "$map" = "ldap" ] ; then
+                       maptype=$map
+                       map=
+                   elif [ "$map" = "multi" ] ; then
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/072_fix_auto_net_sort.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/072_fix_auto_net_sort.patch
new file mode 100644 (file)
index 0000000..5edec83
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 072_fix_auto_net_sort.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.net .A/samples/auto.net
+--- .B/samples/auto.net        2007-01-07 21:36:35.000000000 +0000
++++ .A/samples/auto.net        2007-01-07 21:36:36.000000000 +0000
+@@ -37,7 +37,7 @@
+ # Newer distributions get this right
+ SHOWMOUNT="$SMNT --no-headers -e $key"
+-$SHOWMOUNT | LC_ALL=C sort +0 | \
++$SHOWMOUNT | LC_ALL=C sort -k 1 | \
+       awk -v key="$key" -v opts="$opts" -- '
+       BEGIN   { ORS=""; first=1 }
+               { if (first) { print opts; first=0 }; print " \\\n\t" $1, key ":" $1 }
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/073_configurable_locking.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/073_configurable_locking.patch
new file mode 100644 (file)
index 0000000..94058ca
--- /dev/null
@@ -0,0 +1,173 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 073_configurable_locking.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/configure .A/configure
+--- .B/configure       2005-04-06 15:24:37.000000000 +0000
++++ .A/configure       2007-01-07 21:36:36.000000000 +0000
+@@ -842,6 +842,7 @@
+   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+ --disable-ext-env          disable search in environment for substitution variable
++--disable-mount-locking          disable use of locking when spawning mount command
+ Optional Packages:
+   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+@@ -4308,6 +4309,23 @@
+ fi
+ #
++# Disable use of locking when spawning mount command
++#
++# Check whether --enable-mount-locking or --disable-mount-locking was given.
++if test "${enable_mount_locking+set}" = set; then
++  enableval="$enable_mount_locking"
++
++else
++  enableval=yes
++fi;
++if test x$enable_mount_locking = xyes -o x$enableval = xyes; then
++      cat >>confdefs.h <<\_ACEOF
++#define ENABLE_MOUNT_LOCKING 1
++_ACEOF
++
++fi
++
++#
+ # Write Makefile.conf and include/config.h
+ #
+           ac_config_headers="$ac_config_headers include/config.h"
+diff -Naur .B/configure.in .A/configure.in
+--- .B/configure.in    2005-04-06 15:24:37.000000000 +0000
++++ .A/configure.in    2007-01-07 21:36:36.000000000 +0000
+@@ -167,6 +167,16 @@
+ fi
+ #
++# Disable use of locking when spawning mount command
++#
++AC_ARG_ENABLE(mount-locking,
++--disable-mount-locking          disable use of locking when spawning mount command,,
++      enableval=yes)
++if test x$enable_mount_locking = xyes -o x$enableval = xyes; then
++      AC_DEFINE(ENABLE_MOUNT_LOCKING, 1)
++fi
++
++#
+ # Write Makefile.conf and include/config.h
+ #
+ AC_CONFIG_HEADER(include/config.h)
+diff -Naur .B/daemon/spawn.c .A/daemon/spawn.c
+--- .B/daemon/spawn.c  2005-02-10 12:56:53.000000000 +0000
++++ .A/daemon/spawn.c  2007-01-07 21:36:36.000000000 +0000
+@@ -322,6 +322,7 @@
+       return do_spawn(logpri, 0, prog, (const char **) argv);
+ }
++#ifdef ENABLE_MOUNT_LOCKING
+ int spawnll(int logpri, const char *prog, ...)
+ {
+       va_list arg;
+@@ -342,3 +343,4 @@
+       return do_spawn(logpri, 1, prog, (const char **) argv);
+ }
++#endif
+diff -Naur .B/include/automount.h .A/include/automount.h
+--- .B/include/automount.h     2005-01-26 13:03:02.000000000 +0000
++++ .A/include/automount.h     2007-01-07 21:36:36.000000000 +0000
+@@ -121,9 +121,13 @@
+ int aquire_lock(void);
+ void release_lock(void);
+-int spawnll(int logpri, const char *prog, ...);
+ int spawnl(int logpri, const char *prog, ...);
+-int spawnv(int logpri, const char *prog, const char *const *argv);
++#ifdef ENABLE_MOUNT_LOCKING
++int spawnll(int logpri, const char *prog, ...);
++#else
++#define spawnll       spawnl
++#endif
++int spawnv(int ogpri, const char *prog, const char *const *argv);
+ void reset_signals(void);
+ void ignore_signals(void);
+ void discard_pending(int sig);
+diff -Naur .B/include/config.h.in .A/include/config.h.in
+--- .B/include/config.h.in     2004-02-03 15:23:21.000000000 +0000
++++ .A/include/config.h.in     2007-01-07 21:36:36.000000000 +0000
+@@ -25,3 +25,5 @@
+ #undef HAVE_SLOPPY_MOUNT
+ #undef ENABLE_EXT_ENV
++
++#undef ENABLE_MOUNT_LOCKING
+diff -Naur .B/patches/util-linux-2.12a-flock.patch .A/patches/util-linux-2.12a-flock.patch
+--- .B/patches/util-linux-2.12a-flock.patch    1970-01-01 00:00:00.000000000 +0000
++++ .A/patches/util-linux-2.12a-flock.patch    2007-01-07 21:36:36.000000000 +0000
+@@ -0,0 +1,30 @@
++--- util-linux-2.12a/mount/fstab.c.flock      2005-09-17 01:36:03.000000000 +0800
+++++ util-linux-2.12a/mount/fstab.c    2005-09-17 01:41:12.000000000 +0800
++@@ -488,7 +488,7 @@ lock_mtab (void) {
++                              }
++                              /* proceed anyway */
++                      }
++-                     we_created_lockfile = 1;
+++                     we_created_lockfile = fd;
++              } else {
++                      static int tries = 0;
++ 
++@@ -510,9 +510,8 @@ lock_mtab (void) {
++                                           MOUNTED_LOCK);
++                              sleep(1);
++                      }
+++                     close(fd);
++              }
++-
++-             close(fd);
++      }
++ }
++ 
++@@ -520,6 +519,7 @@ lock_mtab (void) {
++ void
++ unlock_mtab (void) {
++      if (we_created_lockfile) {
+++             close(we_created_lockfile);
++              unlink (MOUNTED_LOCK);
++              we_created_lockfile = 0;
++      }
+diff -Naur .B/patches/util-linux-2.12q-flock.patch .A/patches/util-linux-2.12q-flock.patch
+--- .B/patches/util-linux-2.12q-flock.patch    1970-01-01 00:00:00.000000000 +0000
++++ .A/patches/util-linux-2.12q-flock.patch    2007-01-07 21:36:36.000000000 +0000
+@@ -0,0 +1,29 @@
++--- util-linux-2.12q/mount/fstab.c.flock      2005-09-17 01:10:37.000000000 +0800
+++++ util-linux-2.12q/mount/fstab.c    2005-09-17 01:16:51.000000000 +0800
++@@ -417,6 +417,7 @@
++ unlock_mtab (void) {
++      if (we_created_lockfile) {
++              unlink (MOUNTED_LOCK);
+++             close(we_created_lock_file);
++              we_created_lockfile = 0;
++      }
++ }
++@@ -528,6 +529,7 @@
++                              }
++                              /* proceed anyway */
++                      }
+++                     we_created_lock_file = fd;
++              } else {
++                      static int tries = 0;
++ 
++@@ -549,9 +551,8 @@
++                                           MOUNTED_LOCK);
++                              sleep(1);
++                      }
+++                     close(fd);
++              }
++-
++-             close(fd);
++      }
++ }
++ 
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/074_auto_smb_cifs.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/074_auto_smb_cifs.patch
new file mode 100644 (file)
index 0000000..28590ee
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 074_auto_smb_cifs.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.smb .A/samples/auto.smb
+--- .B/samples/auto.smb        2007-01-07 21:36:36.000000000 +0000
++++ .A/samples/auto.smb        2007-01-07 21:36:36.000000000 +0000
+@@ -5,7 +5,7 @@
+ # This file must be executable to work! chmod 755!
+ key="$1"
+-opts="-fstype=smbfs"
++opts="-fstype=cifs"
+ for P in /bin /sbin /usr/bin /usr/sbin
+ do
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/075_auto_net_escape_hash.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/075_auto_net_escape_hash.patch
new file mode 100644 (file)
index 0000000..09c0ccb
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 075_auto_net_escape_hash.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.net .A/samples/auto.net
+--- .B/samples/auto.net        2007-01-07 21:36:36.000000000 +0000
++++ .A/samples/auto.net        2007-01-07 21:36:36.000000000 +0000
+@@ -42,4 +42,4 @@
+       BEGIN   { ORS=""; first=1 }
+               { if (first) { print opts; first=0 }; print " \\\n\t" $1, key ":" $1 }
+       END     { if (!first) print "\n"; else exit 1 }
+-      '
++      ' | sed 's/#/\\#/g'
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/076_ldap_deprecated.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/076_ldap_deprecated.patch
new file mode 100644 (file)
index 0000000..93cfc05
--- /dev/null
@@ -0,0 +1,265 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 076_ldap_deprecated.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/aclocal.m4 .A/aclocal.m4
+--- .B/aclocal.m4      2003-09-29 08:22:35.000000000 +0000
++++ .A/aclocal.m4      2007-01-07 21:36:36.000000000 +0000
+@@ -9,8 +9,8 @@
+ AC_DEFUN(AF_PATH_INCLUDE,
+ [AC_PATH_PROGS($1,$2,$3,$4)
+ if test -n "$$1"; then
+-  AC_DEFINE(HAVE_$1)
+-  AC_DEFINE_UNQUOTED(PATH_$1, "$$1")
++  AC_DEFINE(HAVE_$1,1,[define if you have $1])
++  AC_DEFINE_UNQUOTED(PATH_$1, "$$1", [define if you have $1])
+   HAVE_$1=1
+ else
+   HAVE_$1=0
+@@ -28,7 +28,7 @@
+ [if test -n "$MOUNT" ; then
+   AC_MSG_CHECKING([if mount accepts the -s option])
+   if "$MOUNT" -s > /dev/null 2>&1 ; then
+-    AC_DEFINE(HAVE_SLOPPY_MOUNT)
++    AC_DEFINE(HAVE_SLOPPY_MOUNT, 1, [define if the mount command supports the -s option])
+     AC_MSG_RESULT(yes)
+   else
+     AC_MSG_RESULT(no)
+diff -Naur .B/configure .A/configure
+--- .B/configure       2007-01-07 21:36:36.000000000 +0000
++++ .A/configure       2007-01-07 21:36:36.000000000 +0000
+@@ -1359,11 +1359,13 @@
+ test -n "$MOUNT" || MOUNT="/bin/mount"
+ if test -n "$MOUNT"; then
+-  cat >>confdefs.h <<\_ACEOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define HAVE_MOUNT 1
+ _ACEOF
+-  cat >>confdefs.h <<_ACEOF
++
++cat >>confdefs.h <<_ACEOF
+ #define PATH_MOUNT "$MOUNT"
+ _ACEOF
+@@ -1418,11 +1420,13 @@
+ test -n "$UMOUNT" || UMOUNT="/bin/umount"
+ if test -n "$UMOUNT"; then
+-  cat >>confdefs.h <<\_ACEOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define HAVE_UMOUNT 1
+ _ACEOF
+-  cat >>confdefs.h <<_ACEOF
++
++cat >>confdefs.h <<_ACEOF
+ #define PATH_UMOUNT "$UMOUNT"
+ _ACEOF
+@@ -1476,11 +1480,13 @@
+ done
+ if test -n "$E2FSCK"; then
+-  cat >>confdefs.h <<\_ACEOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define HAVE_E2FSCK 1
+ _ACEOF
+-  cat >>confdefs.h <<_ACEOF
++
++cat >>confdefs.h <<_ACEOF
+ #define PATH_E2FSCK "$E2FSCK"
+ _ACEOF
+@@ -1534,11 +1540,13 @@
+ done
+ if test -n "$E3FSCK"; then
+-  cat >>confdefs.h <<\_ACEOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define HAVE_E3FSCK 1
+ _ACEOF
+-  cat >>confdefs.h <<_ACEOF
++
++cat >>confdefs.h <<_ACEOF
+ #define PATH_E3FSCK "$E3FSCK"
+ _ACEOF
+@@ -1556,7 +1564,8 @@
+   echo "$as_me:$LINENO: checking if mount accepts the -s option" >&5
+ echo $ECHO_N "checking if mount accepts the -s option... $ECHO_C" >&6
+   if "$MOUNT" -s > /dev/null 2>&1 ; then
+-    cat >>confdefs.h <<\_ACEOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define HAVE_SLOPPY_MOUNT 1
+ _ACEOF
+@@ -3403,6 +3412,7 @@
+ fi;
+ if test -z "$HAVE_LDAP"; then
+       HAVE_LDAP=0
++      LDAP_FLAGS="$LDAP_FLAGS -DLDAP_DEPRECATED=1"
+       echo "$as_me:$LINENO: checking for ldap_init in -lldap" >&5
+ echo $ECHO_N "checking for ldap_init in -lldap... $ECHO_C" >&6
+ if test "${ac_cv_lib_ldap_ldap_init+set}" = set; then
+@@ -4302,7 +4312,8 @@
+   enableval=yes
+ fi;
+ if test x$enable_ext_env = xyes; then
+-      cat >>confdefs.h <<\_ACEOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define ENABLE_EXT_ENV 1
+ _ACEOF
+@@ -4319,7 +4330,8 @@
+   enableval=yes
+ fi;
+ if test x$enable_mount_locking = xyes -o x$enableval = xyes; then
+-      cat >>confdefs.h <<\_ACEOF
++
++cat >>confdefs.h <<\_ACEOF
+ #define ENABLE_MOUNT_LOCKING 1
+ _ACEOF
+diff -Naur .B/configure.in .A/configure.in
+--- .B/configure.in    2007-01-07 21:36:36.000000000 +0000
++++ .A/configure.in    2007-01-07 21:36:36.000000000 +0000
+@@ -118,6 +118,7 @@
+ )
+ if test -z "$HAVE_LDAP"; then
+       HAVE_LDAP=0
++      LDAP_FLAGS="$LDAP_FLAGS -DLDAP_DEPRECATED=1"
+       AC_CHECK_LIB(ldap, ldap_init, HAVE_LDAP=1 LIBLDAP="$LIBLDAP -lldap -llber -lresolv", ,
+                    -llber -lresolv $LIBS)
+ fi
+@@ -163,7 +164,7 @@
+ --disable-ext-env          disable search in environment for substitution variable,,
+       enableval=yes)
+ if test x$enable_ext_env = xyes; then
+-      AC_DEFINE(ENABLE_EXT_ENV, 1)
++      AC_DEFINE(ENABLE_EXT_ENV, 1, [leave this alone])
+ fi
+ #
+@@ -173,7 +174,7 @@
+ --disable-mount-locking          disable use of locking when spawning mount command,,
+       enableval=yes)
+ if test x$enable_mount_locking = xyes -o x$enableval = xyes; then
+-      AC_DEFINE(ENABLE_MOUNT_LOCKING, 1)
++      AC_DEFINE(ENABLE_MOUNT_LOCKING, 1, [disable mount table locking -- use this if your maps contain recursive mounts -- EXPERIMENTAL])
+ fi
+ #
+diff -Naur .B/include/config.h.in .A/include/config.h.in
+--- .B/include/config.h.in     2007-01-07 21:36:36.000000000 +0000
++++ .A/include/config.h.in     2007-01-07 21:36:36.000000000 +0000
+@@ -1,29 +1,80 @@
+-#ident "$Id: config.h.in,v 1.4 2004/02/03 15:23:21 raven Exp $"
+-/* -*- c -*-
+- *
+- * config.h.in: Pattern file for autofs to be filled in by configure
+- *
+- */
++/* include/config.h.in.  Generated from configure.in by autoheader.  */
+-/* Program paths */
++/* leave this alone */
++#undef ENABLE_EXT_ENV
++
++/* disable mount table locking -- use this if your maps contain recursive
++   mounts -- EXPERIMENTAL */
++#undef ENABLE_MOUNT_LOCKING
++
++/* define if you have E2FSCK */
++#undef HAVE_E2FSCK
++
++/* define if you have E3FSCK */
++#undef HAVE_E3FSCK
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#undef HAVE_INTTYPES_H
++
++/* Define to 1 if you have the <memory.h> header file. */
++#undef HAVE_MEMORY_H
++
++/* define if you have MOUNT */
+ #undef HAVE_MOUNT
+-#undef PATH_MOUNT
++/* define if the mount command supports the -s option */
++#undef HAVE_SLOPPY_MOUNT
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#undef HAVE_STDINT_H
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#undef HAVE_STDLIB_H
++
++/* Define to 1 if you have the <strings.h> header file. */
++#undef HAVE_STRINGS_H
++
++/* Define to 1 if you have the <string.h> header file. */
++#undef HAVE_STRING_H
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#undef HAVE_SYS_STAT_H
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#undef HAVE_SYS_TYPES_H
++
++/* define if you have UMOUNT */
+ #undef HAVE_UMOUNT
+-#undef PATH_UMOUNT
+-#undef HAVE_SMBMOUNT
+-#undef PATH_SMBMOUNT
++/* Define to 1 if you have the <unistd.h> header file. */
++#undef HAVE_UNISTD_H
+-#undef HAVE_E2FSCK
++/* Define to the address where bug reports for this package should be sent. */
++#undef PACKAGE_BUGREPORT
++
++/* Define to the full name of this package. */
++#undef PACKAGE_NAME
++
++/* Define to the full name and version of this package. */
++#undef PACKAGE_STRING
++
++/* Define to the one symbol short name of this package. */
++#undef PACKAGE_TARNAME
++
++/* Define to the version of this package. */
++#undef PACKAGE_VERSION
++
++/* define if you have E2FSCK */
+ #undef PATH_E2FSCK
+-#undef HAVE_E3FSCK
++/* define if you have E3FSCK */
+ #undef PATH_E3FSCK
+-/* Define this option if mount(8) supports the -s (sloppy) option */
+-#undef HAVE_SLOPPY_MOUNT
++/* define if you have MOUNT */
++#undef PATH_MOUNT
+-#undef ENABLE_EXT_ENV
++/* define if you have UMOUNT */
++#undef PATH_UMOUNT
+-#undef ENABLE_MOUNT_LOCKING
++/* Define to 1 if you have the ANSI C header files. */
++#undef STDC_HEADERS
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/078_locking_fix_1.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/078_locking_fix_1.patch
new file mode 100644 (file)
index 0000000..eb22a2b
--- /dev/null
@@ -0,0 +1,82 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 078_locking_fix_1.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/daemon/spawn.c .A/daemon/spawn.c
+--- .B/daemon/spawn.c  2007-01-07 21:36:36.000000000 +0000
++++ .A/daemon/spawn.c  2007-01-07 21:36:36.000000000 +0000
+@@ -214,14 +214,15 @@
+       sigfillset(&allsignals);
+       sigprocmask(SIG_BLOCK, &allsignals, &oldsig);
+-      if (pipe(pipefd))
++      if (pipe(pipefd)) {
++              if (use_lock)
++                      release_lock();
++              sigprocmask(SIG_SETMASK, &oldsig, NULL);
+               return -1;
++      }
+       f = fork();
+-      if (f < 0) {
+-              sigprocmask(SIG_SETMASK, &oldsig, NULL);
+-              return -1;
+-      } else if (f == 0) {
++      if (f == 0) {
+               reset_signals();
+               close(pipefd[0]);
+               dup2(pipefd[1], STDOUT_FILENO);
+@@ -243,6 +244,8 @@
+               if (f < 0) {
+                       close(pipefd[0]);
++                      if (use_lock)
++                              release_lock();
+                       sigprocmask(SIG_SETMASK, &oldsig, NULL);
+                       return -1;
+               }
+@@ -287,11 +290,11 @@
+               if (waitpid(f, &status, 0) != f)
+                       status = -1;    /* waitpid() failed */
+-              sigprocmask(SIG_SETMASK, &oldsig, NULL);
+-
+               if (use_lock)
+                       release_lock();
++              sigprocmask(SIG_SETMASK, &oldsig, NULL);
++
+               return status;
+       }
+ }
+diff -Naur .B/lib/lock.c .A/lib/lock.c
+--- .B/lib/lock.c      2005-01-17 15:09:28.000000000 +0000
++++ .A/lib/lock.c      2007-01-07 21:36:36.000000000 +0000
+@@ -208,9 +208,6 @@
+  */
+ static int wait_for_lockf(const char *lockf)
+ {
+-      struct timespec t = { 0, WAIT_INTERVAL };
+-      struct timespec r;
+-      int ts_size = sizeof(struct timespec);
+       int tries = WAIT_TRIES;
+       int status = 0;
+       struct stat st;
+@@ -218,10 +215,13 @@
+       while (tries-- && !status) {
+               status = stat(lockf, &st);
+               if (!status) {
++                      struct timespec t = { 0, WAIT_INTERVAL };
++                      struct timespec r;
++
+                       while (nanosleep(&t, &r) == -1 && errno == EINTR) {
+                               if (got_term)
+                                       return 0;
+-                              memcpy(&t, &r, ts_size);
++                              memcpy(&t, &r, sizeof(struct timespec));
+                       }
+               }
+       }
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/079_no_unlink_upstream.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/079_no_unlink_upstream.patch
new file mode 100644 (file)
index 0000000..eb062e4
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 079_no_unlink_upstream.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/daemon/automount.c .A/daemon/automount.c
+--- .B/daemon/automount.c      2007-01-07 21:36:36.000000000 +0000
++++ .A/daemon/automount.c      2007-01-07 21:36:37.000000000 +0000
+@@ -232,16 +232,38 @@
+ static int rm_unwanted_fn(const char *file, const struct stat *st, int when, void *arg)
+ {
+       int rmsymlink = *(int *) arg;
++      struct stat newst;
+       if (when == 0) {
+               if (st->st_dev != ap.dev)
+                       return 0;
+-      } else {
+-              info("rm_unwanted: %s\n", file);
+-              if (S_ISDIR(st->st_mode))
+-                      rmdir(file);
+-              else if (!S_ISLNK(st->st_mode) || rmsymlink)
+-                      unlink(file);
++              return 1;
++      }
++
++      if (lstat(file, &newst)) {
++              crit ("rm_unwanted: unable to stat file, possible race "
++                    "condition.");
++              return 0;
++      }
++
++      if (newst.st_dev != ap.dev) {
++              crit ("rm_unwanted: file %s has the wrong device, possible "
++                    "race condition.",file);
++              return 0;
++      }
++
++      if (S_ISDIR(newst.st_mode)) {
++              if (rmdir(file)) {
++                      info ("rm_unwanted: unable to remove directory"
++                            " %s", file);
++                      return 0;
++              }
++      } else if (S_ISREG(newst.st_mode)) {
++              crit ("rm_unwanted: attempting to remove files from a mounted "
++                    "directory.");
++              return 0;
++      } else if (S_ISLNK(newst.st_mode) && rmsymlink) {
++              unlink(file);
+       }
+       return 1;
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/080_auto_smb_probe_credentials.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/080_auto_smb_probe_credentials.patch
new file mode 100644 (file)
index 0000000..0b6ca44
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 080_auto_smb_probe_credentials.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.smb .A/samples/auto.smb
+--- .B/samples/auto.smb        2007-01-07 21:36:36.000000000 +0000
++++ .A/samples/auto.smb        2007-01-07 21:36:37.000000000 +0000
+@@ -5,7 +5,9 @@
+ # This file must be executable to work! chmod 755!
+ key="$1"
+-opts="-fstype=cifs"
++mountopts="-fstype=cifs"
++smbopts=""
++credfile="/etc/auto.smb.$key"
+ for P in /bin /sbin /usr/bin /usr/sbin
+ do
+@@ -18,7 +20,14 @@
+ [ -x $SMBCLIENT ] || exit 1
+-$SMBCLIENT -gNL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- '
++if [ -e $credfile ]; then
++      mountopts="$mountopts,credentials=$credfile"
++      smbopts="-A $credfile"
++else
++      smbopts="-N"
++fi
++ 
++$SMBCLIENT $smbopts -gL $key 2>/dev/null| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
+       BEGIN   { ORS=""; first=1 }
+       /Disk/  { if (first) { print opts; first=0 }; sub(/ /, "\\ ", $2); print " \\\n\t /" $2, "://" key "/" $2 }
+       END     { if (!first) print "\n"; else exit 1 }
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/081_auto_net_showmount_quotes.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/081_auto_net_showmount_quotes.patch
new file mode 100644 (file)
index 0000000..25d5ec8
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 081_auto_net_showmount_quotes.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/auto.net .A/samples/auto.net
+--- .B/samples/auto.net        2007-01-07 21:36:36.000000000 +0000
++++ .A/samples/auto.net        2007-01-07 21:36:37.000000000 +0000
+@@ -32,7 +32,7 @@
+       done
+ done
+-[ -x $SMNT ] || exit 1
++[ -x "$SMNT" ] || exit 1
+ # Newer distributions get this right
+ SHOWMOUNT="$SMNT --no-headers -e $key"
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/082_samples_makefile_typo.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/082_samples_makefile_typo.patch
new file mode 100644 (file)
index 0000000..5667232
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 082_samples_makefile_typo.dpatch
+##
+## DP: No description.
+
+@DPATCH@
+
+diff -Naur .B/samples/Makefile .A/samples/Makefile
+--- .B/samples/Makefile        2005-01-04 14:36:54.000000000 +0000
++++ .A/samples/Makefile        2007-01-07 21:36:37.000000000 +0000
+@@ -42,6 +42,6 @@
+       install -c autofs-ldap-auto-master -m 755 $(INSTALLROOT)$(autofslibdir)
+ endif
+-clean):
++clean:
+       rm -f *.o *.s autofs-ldap-auto-master rc.autofs
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/083_clarify_program_map_outputsyntax.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/083_clarify_program_map_outputsyntax.patch
new file mode 100644 (file)
index 0000000..e772b90
--- /dev/null
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 083_clarify_program_map_outputsyntax.dpatch  <hesso@pool.math.tu-berlin.de>
+##
+## DP: Explicitly mention that the queried key has to be omitted in the output of
+## DP: program maps.
+
+@DPATCH@
+--- autofs-4.1.4+debian.orig/man/autofs.5      2007-06-30 00:29:12.000000000 +0200
++++ autofs-4.1.4+debian/man/autofs.5   2007-06-30 00:30:27.000000000 +0200
+@@ -153,7 +153,8 @@
+ .B program
+ map will be called as a script with the key as an argument.  It may
+ return no lines of output if there's an error, or one or more lines
+-containing a map (with \\ quoting line breaks).
++containing a map (starting with the second column, i.e. omitting the
++key, and quoting line breaks with \\).
+ .P
+ To use a 
+ .B program
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/084_init_lsb_header.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/084_init_lsb_header.patch
new file mode 100644 (file)
index 0000000..8a07693
--- /dev/null
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 84_init_lsb_header.dpatch by  <hesso@pool.math.tu-berlin.de>
+##
+## DP: Add an LSB-conformant header to the initscript.
+
+@DPATCH@
+
+--- autofs-4.1.4+debian/samples/rc.autofs.in.orig      2007-07-05 16:43:32.000000000 +0200
++++ autofs-4.1.4+debian/samples/rc.autofs.in   2007-07-05 16:43:42.000000000 +0200
+@@ -9,6 +9,16 @@
+ # On most distributions, this file should be called:
+ # /etc/rc.d/init.d/autofs or /etc/init.d/autofs
+ #
++### BEGIN INIT INFO
++# Provides:            autofs
++# Required-Start:      $local_fs
++# Required-Stop:       $local_fs
++# Default-Start:       2 3 4 5
++# Default-Stop:                0 1 6
++# Short-Description:   automount daemon
++# Description:         daemon to mount (possibly remote) filesystems
++#                      automatically upon entering the mountpoint
++### END INIT INFO
+ # For Redhat-ish systems
+ #
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/085_auto_net_lp111612.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/085_auto_net_lp111612.patch
new file mode 100644 (file)
index 0000000..23e455b
--- /dev/null
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 085-auto.net-lp111612 by Morten Kjeldgaard <mok@bioxray.au.dk>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix problem with directories exported multiple times to different 
+## DP: hosts (LP: #111612).
+
+@DPATCH@
+
+--- samples/auto.net   2008-04-09 16:32:59.000000000 +0200
++++ foo/samples/auto.net       2008-04-09 16:34:29.000000000 +0200
+@@ -37,7 +37,7 @@
+ # Newer distributions get this right
+ SHOWMOUNT="$SMNT --no-headers -e $key"
+-$SHOWMOUNT | LC_ALL=C sort -k 1 | \
++$SHOWMOUNT | LC_ALL=C cut -d' ' -f1 | LC_ALL=C sort -k 1 | \
+       awk -v key="$key" -v opts="$opts" -- '
+       BEGIN   { ORS=""; first=1 }
+               { if (first) { print opts; first=0 }; print " \\\n\t" $1, key ":" $1 }
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/Makefile.rules-cross.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/Makefile.rules-cross.patch
new file mode 100644 (file)
index 0000000..1f9ea41
--- /dev/null
@@ -0,0 +1,19 @@
+Index: autofs-4.1.4/Makefile.rules
+===================================================================
+--- autofs-4.1.4.orig/Makefile.rules
++++ autofs-4.1.4/Makefile.rules
+@@ -27,10 +27,10 @@ STRIP     = :
+ #STRIP     = strip --strip-debug
+ #endif
+-CC        = gcc
+-CXX       = g++
+-CXXFLAGS  = $(CFLAGS)
+-LD        = ld
++CC        ?= gcc
++CXX       ?= g++
++CXXFLAGS  ?= $(CFLAGS)
++LD        ?= ld
+ SOLDFLAGS = -shared -Xlinker -rpath -Xlinker $(autofslibdir)
+ # Standard rules
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.hotplug b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.hotplug
new file mode 100644 (file)
index 0000000..67cf4c5
--- /dev/null
@@ -0,0 +1 @@
+* -fstype=auto,rw,sync :/dev/&
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.master b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.master
new file mode 100644 (file)
index 0000000..41c2389
--- /dev/null
@@ -0,0 +1,11 @@
+#
+# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $
+#
+# Sample auto.master file
+# This is an automounter map and it has the following format
+# key [ -mount-options-separated-by-comma ] location
+# For details of the format look at autofs(5).
+#/smb  /etc/auto.smb
+#/net  /etc/auto.net
+/autofs     /etc/auto.hotplug
+/media/net  /etc/auto.network
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.network b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.network
new file mode 100644 (file)
index 0000000..c1835d9
--- /dev/null
@@ -0,0 +1,2 @@
+# automatically generated by enigma 2
+# do NOT change manually!
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.default b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.default
new file mode 100644 (file)
index 0000000..e8619eb
--- /dev/null
@@ -0,0 +1,2 @@
+daemonoptions='--ghost'
+TIMEOUT=5
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.init b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.init
new file mode 100755 (executable)
index 0000000..c32d08e
--- /dev/null
@@ -0,0 +1,803 @@
+#!/bin/sh
+#
+# $Id: rc.autofs.in,v 1.58 2005/04/11 11:30:54 raven Exp $
+#
+# rc file for automount using a Sun-style "master map".
+# We first look for a local /etc/auto.master, then a YP
+# map with that name
+#
+# On most distributions, this file should be called:
+# /etc/rc.d/init.d/autofs or /etc/init.d/autofs
+#
+### BEGIN INIT INFO
+# Provides:            autofs
+# Required-Start:      $local_fs
+# Required-Stop:       $local_fs
+# Default-Start:       2 3 4 5
+# Default-Stop:                0 1 6
+# Short-Description:   automount daemon
+# Description:         daemon to mount (possibly remote) filesystems
+#                      automatically upon entering the mountpoint
+### END INIT INFO
+
+# For Redhat-ish systems
+#
+# chkconfig: 345 28 72
+# processname: /usr/sbin/automount
+# config: /etc/auto.master
+# description: Automounts filesystems on demand
+
+# This is used in the Debian distribution to determine the proper
+# location for the S- and K-links to this init file.
+# The following value is extracted by debstd to figure out how to
+# generate the postinst script. Edit the field to change the way the
+# script is registered through update-rc.d (see the manpage for
+# update-rc.d!)
+#
+FLAGS="defaults 21"
+
+#
+# Location of the automount daemon and the init directory
+#
+DAEMON=/usr/sbin/automount
+prog=`basename $DAEMON`
+initdir=/etc/init.d
+
+test -e $DAEMON || exit 0
+
+#
+# Determine which kind of configuration we're using
+#
+system=debian
+if [ -f /etc/redhat-release ]; then
+       system=redhat
+fi
+
+if [ $system = redhat ]; then
+       . $initdir/functions
+fi
+
+if [ $system = debian ]; then
+       thisscript="$0"
+       if [ ! -f "$thisscript" ]; then
+               echo "$0: Cannot find myself" 1>&2
+               exit 1
+       fi
+fi
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+export PATH
+
+#
+# We can add local options here
+# e.g. localoptions='rsize=8192,wsize=8192'
+#
+localoptions=''
+
+#
+# Daemon options
+# e.g. --timeout=60
+#
+daemonoptions=''
+
+#
+# load custom settings
+#
+if [ "$system" = "redhat" ]; then
+       LOCALOPTIONS=""
+       DAEMONOPTIONS=""
+       UNDERSCORETODOT=1
+       DISABLE_DIRECT=1
+       DAEMON_EXIT_WAIT=20
+
+       [ -f /etc/sysconfig/autofs ] && . /etc/sysconfig/autofs
+
+       # Over-ride localoptions if set
+       if [ -n "$LOCALOPTIONS" ]; then
+               localoptions=$LOCALOPTIONS
+       fi
+
+       # Over-ride daemonoptions if set
+       if [ -n "$DAEMONOPTIONS" ]; then
+               daemonoptions=$DAEMONOPTIONS
+       fi
+elif [ "$system" = "debian" ]; then
+       TIMEOUT=300
+       DISABLE_DIRECT=1
+       DAEMON_EXIT_WAIT=20
+
+       [ -f /etc/default/autofs ] && . /etc/default/autofs
+
+       daemonoptions="$daemonoptions --timeout=$TIMEOUT"
+fi
+
+#
+# Check for all maps that are to be loaded
+#
+getschemes()
+{
+       SOURCES=`grep ^automount: /etc/nsswitch.conf | \
+                sed -e 's/^.*://' -e 's/\[.*\]/ /g'`
+
+       if [ `echo $SOURCES | awk '{print NF}'` -gt 0 ]
+       then
+               echo ${SOURCES}
+       else
+               echo files
+       fi
+}
+
+catnismap()
+{
+    if [ -z "$1" ] ; then
+        map="auto_master"
+    else
+        map="$1"
+    fi
+
+    # Append the map's options at the _start_ if there are any options already
+    # (ie. myopt -> $2,myopt), otherwise just append them at the end.
+    if [ -z "$2" ]; then
+        /usr/bin/ypcat -k "$map" 2> /dev/null | sed -e '/^#/d' -e '/^$/d'
+    else
+        /usr/bin/ypcat -k "$map" 2> /dev/null |
+        sed -e '/^#/d' -e '/^$/d' \
+            -e "s/^[ \t]*\([^ \t]\+\)[ \t]\+\([^ \t]\+\)[ \t]\+-\([^ \t]\+\)/\1 \2 $2,\3/" \
+            -e "s/^[ \t]*\([^ \t]\+\)[ \t]\+\([^ \t]\+\)[ \t]*$/\1 \2 $2/"
+    fi    
+}
+
+getfilemounts()
+{
+    if [ -f /etc/auto.master ] ; then
+        cat /etc/auto.master | awk '{print $0}' | sed -e '/^#/d' -e '/^$/d' | (
+        while read auto_master_in
+        do
+            if [ "`echo $auto_master_in | grep '^\+'`" = "" ]; then
+                echo $auto_master_in
+            else
+                cat /etc/auto.master | grep '^\+' | sed -e '/^#/d' -e '/^$/d' | (
+                    while read map options; do
+                        catnismap `echo "$map" | sed -e 's/^\+//'` $options
+                    done
+                )
+            fi
+        done
+        )
+    fi
+}
+
+getnismounts()
+{
+    YPMAP=`catnismap auto.master`
+    if [ -z "$YPMAP" ]; then
+       catnismap
+    else
+       catnismap auto.master
+    fi
+}
+
+getldapmounts()
+{
+    if [ -x /usr/lib/autofs/autofs-ldap-auto-master ]; then
+       [ ! -z $LDAPURI ] && export LDAPURI="$LDAPURI"
+       [ ! -z $LDAPBASE ] && export LDAPBASE="$LDAPBASE"
+        /usr/lib/autofs/autofs-ldap-auto-master 2> /dev/null
+       /usr/lib/autofs/autofs-ldap-auto-master -m automountMap \
+           -e automount -n ou -k cn -v automountInformation 2> /dev/null
+    fi
+}
+
+getrawmounts()
+{
+    for scheme in `getschemes` ; do
+        case "$scheme" in
+            files)
+                if [ -z "$filescheme" ] ; then
+                    getfilemounts
+                    filescheme=1
+                    export filescheme
+                fi
+                ;;
+            nis)
+                if [ -z "$nisscheme" ] ; then
+                    getnismounts
+                    nisscheme=1
+                    export nisscheme
+                fi
+                ;;
+            ldap*)
+                if [ -z "$ldapscheme" ] ; then
+                    getldapmounts
+                    ldapscheme=1
+                    export ldapscheme
+                fi
+                ;;
+        esac
+    done
+}
+
+
+#
+# This function will build a list of automount commands to execute in
+# order to activate all the mount points. It is used to figure out
+# the difference of automount points in case of a reload
+#
+getmounts()
+{
+       local LC_ALL=C
+       export LC_ALL
+       knownmaps=" "
+       getrawmounts | (
+       while read dir map options
+       do
+           # These checks screen out duplicates and skip over directories
+           # where the map is '-'.
+           # We can't do empty or direct host maps, so don't bother trying.
+
+           # Strip trailing slashes from the dir line if it exists to aid
+           # in checking for duplicate maps
+           dir=`echo "$dir" | sed -e "s/\/*$//"`
+
+           if [ ! -z "$map" -a "$map" = "-hosts" ] ; then
+               continue
+           fi
+
+           if [ $DISABLE_DIRECT -eq 1 \
+                       -a x`echo $dir | grep -E "^/-"` != 'x' ]
+           then
+               continue
+           fi
+
+           # If possible, canonicalise the path so it will always unmount
+           # cleanly.
+           link=`readlink -f "$dir"`
+           if [ ! -z "$link" ]; then
+                   dir="$link"
+           fi
+
+           # Do not include a map if it is a duplicate, maps on top of
+           # another map or another map, maps on top of it.
+           for knownmap in $knownmaps
+           do  
+               if [ "`echo $dir/ | grep ^$knownmap`" != "" \
+                       -o "`echo $knownmap | grep ^$dir/`" != "" \]
+               then 
+                   continue 2
+               fi      
+           done
+
+           if [ ! -z "$dir" -a ! -z "$map" \
+                       -a x`echo "$map" | cut -c1` != 'x-' ]
+           then
+               # If the options include a -t or --timeout, a -g or --ghost,
+               # a -v or --verbose or a -d or --debug paramter, then pull
+               # those particular options out.
+               : echo DAEMONOPTIONS OPTIONS $daemonoptions $options
+               startupoptions=
+               if echo "$options" | grep -qE -- '\B-(t\b|-timeout\b=)' ;
+               then
+                   startupoptions="--timeout=$(echo $options |\
+                       sed 's/.*-\(t[^0-9]*\|-timeout\)[ \t=]*\([0-9][0-9]*\).*$/\2/g')"
+               elif echo "$daemonoptions" | grep -q -- '-t' ;
+               then
+                   # It's okay to be sloppy with DAEMONOPTIONS as there is no
+                   # possibility of conflicting with mount or map options.
+                   startupoptions="--timeout=$(echo $daemonoptions | \
+                     sed 's/.*--*t\(imeout\)*[ \t=]*\([0-9][0-9]*\).*$/\2/g')"
+               fi
+
+               # Check for the ghost option
+               if echo "$daemonoptions $options" | grep -qE -- '\B-(g\b|-ghost\b)' ;
+               then
+                   startupoptions="$startupoptions --ghost"
+               fi
+               # Dont even deal with conflicts between --ghost and [no]browse
+               # Its just insane to configure things like that.
+               if echo "$options" | grep -qE -- '\B-browse\b' ;
+               then
+                   startupoptions="$startupoptions --ghost"
+               fi
+               # Check for verbose
+               if echo "$daemonoptions $options" | \
+                                       grep -qE -- '\B-(v\b|-verbose\b)' ;
+               then
+                   startupoptions="$startupoptions --verbose"
+               fi
+
+               # Check for debug
+               if echo "$daemonoptions $options" | \
+                                       grep -qE -- '\B-(d\b|-debug\b)' ;
+               then
+                   startupoptions="$startupoptions --debug"
+               fi
+
+               # Other option flags are intended for maps.
+               mapoptions="$(echo "$daemonoptions $options" |\
+                     sed   's/-\(t[^0-9]*\|-timeout\)[ \t=]*\([0-9][0-9]*\)//g' |
+                     sed   's/-\(g\b\|-ghost\b\)//g' |
+                     sed   's/-\(v\b\|-verbose\b\)//g' |
+                     sed   's/-\(d\b\|-debug\b\)//g' |
+                     sed   's/-\b\(no\)\?browse\b//g')"
+
+               # Break up the maptype and map, if the map type is specified
+               maptype=`echo $map | cut -f1 -d:`
+               # Handle degenerate map specifiers
+               if [ "$maptype" = "$map" ] ; then
+                   if [ "$map" = "hesiod" -o "$map" = "userhome" -o "$map" = "ldap" ] ; then
+                       maptype=$map
+                       map=
+                   elif [ "$map" = "multi" ] ; then
+                       maptype=$map
+                       map=
+#                  elif echo "$map" | grep -q '^!'; then
+#                      map=`echo "$map"| sed -e 's/^!//g'`
+                   elif `echo $map | grep -q "^/"` && [ -x "$map" ]; then
+                       maptype=program
+                   elif [ -x "/etc/$map" ]; then
+                       maptype=program
+                       map=`echo /etc/$map | sed 's^//^/^g'`
+                   elif `echo $map | grep -q "^/"` && [ -f "$map" ]; then
+                       maptype=file
+                   elif [ -f "/etc/$map" ]; then
+                       maptype=file
+                       map=`echo /etc/$map | sed 's^//^/^g'`
+                   else
+                       maptype=yp
+                       if [ "$UNDERSCORETODOT" = "1" ] ; then
+                           map=`basename $map | sed -e s/^auto_home/auto.home/ -e s/^auto_mnt/auto.mnt/`
+                       else
+                           map=`basename $map | sed 's^//^/^g'`
+                       fi
+                   fi
+               fi
+               map=`echo $map | cut -f2- -d:`
+
+               : echo STARTUPOPTIONS $startupoptions
+               : echo DIR $dir
+               : echo MAPTYPE $maptype
+               : echo MAP $map
+               : echo MAPOPTIONS $mapoptions
+               : echo LOCALOPTIONS $localoptions
+
+               NEWOPTIONS=""
+               for m in $mapoptions
+               do
+                       if [ x"$m" = x"--" ]; then
+                               NEWOPTIONS="$NEWOPTIONS $localoptions --"
+                       else
+                               NEWOPTIONS="$NEWOPTIONS $m"
+                       fi
+               done
+               mapoptions=$NEWOPTIONS
+
+               echo "$DAEMON $startupoptions $dir $maptype $map $mapoptions $localoptions" | sed -e 's/        / /g' -e 's/  */ /g'
+
+               : echo ------------------------
+               knownmaps=" $dir/ $knownmaps"
+           fi
+       done
+    )
+}
+
+#
+# Status lister.
+#
+status()
+{
+       echo -e $"Configured Mount Points:\n------------------------"
+       getmounts
+       echo ""
+       echo -e $"Active Mount Points:\n--------------------"
+       ps axwww|grep "[0-9]:[0-9][0-9] $DAEMON " | (
+               while read pid tt stat time command; do echo $command; done
+       )
+}
+
+get_command_from_pid()
+{
+       ps ax | grep "[0-9]:[0-9][0-9] $DAEMON " | (
+               while read pid tt stat time command; do
+                       if [ "$pid" = "$1" ] ; then
+                               echo `echo "$command" | \
+                                       sed 's/--pid-file.*\.pid/ /'`
+                               return 0
+                       fi
+               done
+       )
+       return 0
+}
+
+# return true if at least one pid is alive
+alive()
+{
+    if [ -z "$*" ]; then
+       return 1
+    fi
+    for i in $*; do
+       if kill -0 $i 2> /dev/null; then
+           return 0
+       fi
+    done
+
+    return 1
+}
+
+#
+# Find pids of process group leaders
+#
+get_pgrp_pids()
+{
+       ps -eo pid,pgrp,cmd|grep $DAEMON|\
+       awk '{print $1,$2}'|\
+       while read pid pgrp
+       do
+               if [ $pid -eq $pgrp ]
+               then
+                       echo $pid
+               fi
+       done
+}
+
+#
+# Signal each automount process group leader
+#
+signal_automounts()
+{
+       RETVAL=0
+       pgrp_pids=`get_pgrp_pids`
+       for pid in $pgrp_pids
+       do
+               kill -USR2 $pid 2 > /dev/null
+               count=0
+               while ps ax|grep -v grep|grep $pid >/dev/null
+               do
+                       sleep 1 
+                       count=$(expr $count + 1)
+                       if [ $count -gt $DAEMON_EXIT_WAIT ]; then
+                               break;
+                       fi
+               done
+       done
+
+       if [ -n "`pidof $DAEMON`" ] ; then
+               RETVAL=1
+       fi
+
+       return $RETVAL
+}
+
+umount_loopback()
+{
+    loops=`LC_ALL=C awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}' /proc/mounts`
+    automounts=`LC_ALL=C awk '!/^#/ && $1 ~ /^automount/ {print $2}' /proc/mounts`
+
+    for l in $loops
+    do
+       # If a loop device is mounted into a subdir of the automount point,
+       # umount it here.
+       for a in $automounts
+       do
+           match=`echo $l | grep -E "^$a[\$|/]" || true`
+           if [ -n "$match" ]; then
+               echo ""
+               echo -n $"Unmounting loopback filesystem $match:  "
+               loopdev=`LC_ALL=C grep $l /proc/mounts | awk '{print $1}'`
+               umount -d $match
+               if [ $? -eq 0 ]; then
+                   echo "done"
+               else
+                   echo "failed ($?)"
+               fi
+           fi
+       done
+    done
+
+    # If the loop device file exists under the automount point, umount
+    # it here.
+    loopmnts=`LC_ALL=C awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $1}' /proc/mounts`
+    for l in $loopmnts
+    do
+       loopmnt=`losetup $l | awk -F\( '{print $2}' | awk -F\) '{print $1}'`
+       for a in $automounts
+       do
+           match=`echo $loopmnt | grep -E "^$a[\$|/]" || true`
+           if [ -n "$match" ]; then
+               echo ""
+               echo -n $"Unmounting loopback filesystem $match:  "
+               umount -d $match
+               if [ $? -eq 0 ]; then
+                   echo "done"
+               else
+                   echo "failed ($?)"
+               fi
+           fi
+       done
+    done
+}
+
+#
+# Redhat start/stop function.
+#
+redhat()
+{
+
+#
+# See how we were called.
+#
+case "$1" in
+  start)
+        # Make sure the autofs filesystem type is available.
+        (grep -q autofs /proc/filesystems || /sbin/modprobe -k autofs4 || /sbin/modprobe -k autofs) 2> /dev/null
+        echo -n $"Starting $prog: "
+        TMP=`mktemp /tmp/autofs.XXXXXX` || { echo $"could not make temp file" >& 2; exit 1; }
+        getmounts | tee $TMP | sh
+        RETVAL=$?
+       if [ -s $TMP ] ; then
+           if [ $RETVAL -eq 0 ] ; then
+               success "$prog startup"
+           else
+               failure "$prog startup"
+           fi
+           [ $RETVAL = 0 ] && touch /var/lock/subsys/autofs
+       else
+           echo -n $"No Mountpoints Defined"
+           success "$prog startup"
+       fi
+       rm -f $TMP
+       echo
+       ;;
+  stop)
+       echo -n $"Stopping $prog:"
+       if [ -z "`pidofproc $prog`" -a -z "`getmounts`" ]; then
+               RETVAL=0
+       else
+               umount_loopback
+               signal_automounts
+               RETVAL=$?
+       fi
+       count=0
+       while [ -n "`/sbin/pidof $DAEMON`" -a $count -lt 10 ] ; do
+          killproc $DAEMON -USR2 >& /dev/null
+          RETVAL=$?
+          [ $RETVAL = 0 -a -z "`/sbin/pidof $DAEMON`" ] || sleep 3
+          count=`expr $count + 1`
+       done
+       umount -a -f -t autofs
+       rm -f /var/lock/subsys/autofs
+       if [ -n "`/sbin/pidof $DAEMON`" ] ; then
+           failure "$prog shutdown"
+       else
+           success "$prog shutdown"
+       fi
+       echo
+       ;;
+  restart)
+       redhat stop
+       redhat start
+       ;;
+  reload)
+       if [ ! -f /var/lock/subsys/autofs ]; then
+               echo $"$prog not running"
+               RETVAL=1
+               return
+       fi
+       echo $"Checking for changes to /etc/auto.master ...."
+        TMP1=`mktemp /tmp/autofs.XXXXXX` || { echo $"could not make temp file" >& 2; exit 1; }
+        TMP2=`mktemp /tmp/autofs.XXXXXX` || { echo $"could not make temp file" >& 2; exit 1; }
+       getmounts >$TMP1
+       ps axwww|grep "[0-9]:[0-9][0-9] $DAEMON " | (
+           while read pid tt stat time command; do
+               echo "$command" >>$TMP2
+               if ! grep -q "^$command" $TMP1; then
+                   if ! echo "$command" | grep -q -e --submount; then
+                       kill -USR2 $pid 2> /dev/null
+                       echo $"Stop $command"
+                   fi
+               else
+                       kill -HUP $pid 2> /dev/null
+                       echo $"Reload map $command"
+               fi
+           done
+       )
+       cat $TMP1 | ( while read x; do
+               if ! grep -q "^$x" $TMP2; then
+                       $x
+                       echo $"Start $x"
+               fi
+        done )
+       rm -f $TMP1 $TMP2
+       ;;
+  status)
+       status
+       ;;
+  condrestart)
+       [ -f /var/lock/subsys/autofs ] && redhat restart
+        RETVAL=0
+       ;;
+  *)
+       echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
+       RETVAL=0
+esac
+}
+
+#
+# Debian start/stop functions.
+#
+debian()
+{
+
+case "$1" in
+start)
+       echo -n 'Starting automounter:'
+
+       # make sure autofs4 is loaded
+       if ! grep -q autofs /proc/filesystems
+       then
+               # autofs filesystem support not loaded
+               echo -n ' loading autofs4 kernel module,'
+               modprobe autofs4 || true
+       elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]; then
+               # wrong autofs filesystem module loaded
+               echo
+               echo "WARNING: autofs kernel module is loaded, autofs4 needed"
+               echo " for correct behaviour. You might experience mount failures."
+       fi
+
+       # Check that maps exist
+       if [ -z "$(getrawmounts)" ]
+       then
+               echo " no automount maps defined."
+               exit 0
+       fi
+
+       # ensure pid file directory exists
+       if [ ! -e /var/run/autofs ]
+       then
+               mkdir /var/run/autofs
+       fi
+
+       getmounts | while read cmd rest
+       do
+               mnt=`echo $rest | sed 's/^.* \(\/[^ ]*\) [A-Za-z].*$/\1/'`
+               pidfile=/var/run/autofs/`echo $mnt | sed 's,/,_,g'`.pid
+
+               start-stop-daemon --start --pidfile $pidfile --quiet \
+                       --exec $DAEMON -- --pid-file=$pidfile $rest
+
+               ret=$?
+
+               if [ $ret -ne 0 ]
+               then
+                       echo
+                       echo " failed to start automount point $mnt"
+               fi
+       done
+
+       echo " done."
+       ;;
+stop)
+       echo -n 'Stopping automounter:'
+
+       umount_loopback
+       
+       any=0
+       for file in `ls /var/run/autofs/*.pid 2>/dev/null`
+       do
+               if [ -e "$file" ]
+               then
+                       any=1
+                       pid=`head -n 1 $file`
+                       mnt=`ps -wwo 'cmd=' $pid | sed -e \
+                         's,.* --pid-file=/var/run/autofs/\([^ ]*\)\.pid.*,\1,; s,_,/,g'`
+                       dname=`basename $DAEMON`
+
+                       start-stop-daemon --stop --quiet \
+                                       --retry USR2/$DAEMON_EXIT_WAIT \
+                                       --pidfile $file --name $dname
+
+                       ret=$?
+
+                       case $ret in
+                       0)
+#                              echo -n " $mnt"
+                               rm -f $file
+                               ;;
+                       1)
+                               echo -n -e "\n No process for automount $mnt"
+                               rm -f $file
+                               ;;
+                       2)
+                               echo -n -e "\n  Couldn't stop automount for $mnt"
+                               ;;
+                       *)
+                               echo -n -e \
+                               "\n Strange start-stop-daemon exit status: $ret"
+                               ;;
+                       esac
+               fi
+       done
+
+       echo " done."
+       ;;
+reload)
+       echo "Reloading automounter: checking for changes ... "
+
+       TMP1=`mktemp -t autofs.XXXXXX`
+       TMP2=`mktemp -t autofs.XXXXXX`
+
+       getmounts >$TMP1
+
+       for i in `ls /var/run/autofs/*.pid 2>/dev/null`
+       do
+               pid=`head -n 1 $i 2>/dev/null`
+               [ "$pid" = "" ] && continue
+               
+               cmd=`get_command_from_pid $pid`
+               echo $cmd >>$TMP2
+
+               mnt=`ps -wwo 'cmd=' $pid | sed -e \
+                's,.* --pid-file=/var/run/autofs/\([^ ]*\)\.pid.*,\1,; s,_,/,g'`
+
+               if ! grep -q "$cmd" $TMP1; then
+                       echo "Stopping automounter for: $mnt"
+                       kill -USR2 $pid 2> /dev/null
+               else
+                       echo "Reloading automounter map for: $mnt"
+                       kill -HUP $pid 2> /dev/null
+               fi
+       done
+
+       cat $TMP1 | (while read x; do
+               if ! grep -q "^$x" $TMP2; then
+                       echo $x | while read cmd rest; do
+
+                       mnt=`echo $rest | sed 's/^.* \(\/[^ ]*\) [A-Za-z].*$/\1/'`
+                       pidfile=/var/run/autofs/`echo $mnt | sed 's,/,_,g'`.pid
+
+                       start-stop-daemon --start --pidfile $pidfile --quiet \
+                               --exec $DAEMON -- --pid-file=$pidfile $rest
+
+                       ret=$?
+
+                       if [ $ret -ne 0 ]
+                       then
+                               echo
+                               echo " failed to start automount point $mnt"
+                       else
+                               echo "Started automounter: $mnt"
+                       fi
+                       done
+               fi
+       done)
+
+       rm -f $TMP1 $TMP2
+       ;;
+force-reload|restart)
+       debian stop
+       debian start
+       ;;
+status)
+       status
+       ;;
+getmounts)
+       getmounts
+       ;;
+active)
+       alive
+       ;;
+*)
+       echo "Usage: $initdir/autofs {start|stop|restart|reload|status|getmounts|active}" >&2
+       exit 1
+       ;;
+esac
+}
+
+RETVAL=0
+if [ $system = debian ]; then
+       debian "$@"
+elif [ $system = redhat ]; then
+       redhat "$@"
+fi
+
+exit $RETVAL
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/cross.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/cross.patch
new file mode 100644 (file)
index 0000000..f27cc0a
--- /dev/null
@@ -0,0 +1,42 @@
+Index: autofs-4.1.4/aclocal.m4
+===================================================================
+--- autofs-4.1.4.orig/aclocal.m4
++++ autofs-4.1.4/aclocal.m4
+@@ -9,6 +9,8 @@ dnl ------------------------------------
+ AC_DEFUN(AF_PATH_INCLUDE,
+ [AC_PATH_PROGS($1,$2,$3,$4)
+ if test -n "$$1"; then
++  AH_TEMPLATE([HAVE_$1], [Have $2])
++  AH_TEMPLATE([PATH_$1], [Have $2])
+   AC_DEFINE(HAVE_$1,1,[define if you have $1])
+   AC_DEFINE_UNQUOTED(PATH_$1, "$$1", [define if you have $1])
+   HAVE_$1=1
+Index: autofs-4.1.4/configure.in
+===================================================================
+--- autofs-4.1.4.orig/configure.in
++++ autofs-4.1.4/configure.in
+@@ -135,12 +135,14 @@ AC_PROG_CC
+ cat > pietest.c <<EOF
+ int main(void) { return 0; }
+ EOF
++AF_tmp_ldflags="$LDFLAGS"
++AF_tmp_cflags="$CFLAGS"
+ CFLAGS=-fPIE
+ LDFLAGS=-pie
+ DAEMON_CFLAGS=
+ DAEMON_LDFLAGS=
+ AC_MSG_CHECKING([whether gcc -fPIE works])
+-AC_RUN_IFELSE([AC_LANG_PROGRAM([[]], [[int main(void) {return 0;}]])],
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int main(void) {return 0;}]])],
+             [gcc_supports_pie=yes], [gcc_supports_pie=no])
+ AC_MSG_RESULT([$gcc_supports_pie])
+ if test $gcc_supports_pie = yes ; then
+@@ -150,6 +152,8 @@ fi
+ rm -f pietest.c
+ AC_SUBST(DAEMON_CFLAGS)
+ AC_SUBST(DAEMON_LDFLAGS)
++CFLAGS="${AF_tmp_cflags}"
++LDFLAGS="${AF_tmp_ldflags}"
+ #
+ # Location of init.d directory?
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/install.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/install.patch
new file mode 100644 (file)
index 0000000..ef13fd8
--- /dev/null
@@ -0,0 +1,71 @@
+Index: autofs-4.1.4/man/Makefile
+===================================================================
+--- autofs-4.1.4.orig/man/Makefile     2003-09-29 10:22:35.000000000 +0200
++++ autofs-4.1.4/man/Makefile  2006-06-19 15:09:33.124583912 +0200
+@@ -14,9 +14,9 @@
+ install: all
+       install -d -m 755 $(INSTALLROOT)$(mandir)/man5
+-      install -c *.5 -m 644 $(INSTALLROOT)$(mandir)/man5
++      install -c -m 644 *.5 $(INSTALLROOT)$(mandir)/man5
+       install -d -m 755 $(INSTALLROOT)$(mandir)/man8
+-      install -c *.8 -m 644 $(INSTALLROOT)$(mandir)/man8
++      install -c -m 644 *.8 $(INSTALLROOT)$(mandir)/man8
+ clean:
+       rm -f $(GENFILES)
+Index: autofs-4.1.4/modules/Makefile
+===================================================================
+--- autofs-4.1.4.orig/modules/Makefile 2004-08-29 14:46:23.000000000 +0200
++++ autofs-4.1.4/modules/Makefile      2006-06-19 15:09:33.125583760 +0200
+@@ -53,7 +53,7 @@
+ # mount_smbfs.so is an obsolete module which must be removed
+ install: all
+       install -d -m 755 $(INSTALLROOT)$(autofslibdir)
+-      install -c $(MODS) -m 755 $(INSTALLROOT)$(autofslibdir)
++      install -c -m 755 $(MODS) $(INSTALLROOT)$(autofslibdir)
+       -rm -f $(INSTALLROOT)$(autofslibdir)/mount_smbfs.so
+ ifeq ($(EXT2FS), 1)
+  ifeq ($(EXT3FS), 1)
+Index: autofs-4.1.4/samples/Makefile
+===================================================================
+--- autofs-4.1.4.orig/samples/Makefile 2005-01-04 15:36:54.000000000 +0100
++++ autofs-4.1.4/samples/Makefile      2006-06-19 15:09:33.125583760 +0200
+@@ -27,19 +27,19 @@
+ install: all
+       install -d -m 755 $(INSTALLROOT)/etc
+       -mv -f $(INSTALLROOT)/etc/auto.master $(INSTALLROOT)/etc/auto.master.old
+-      install -c auto.master -m 644 $(INSTALLROOT)/etc
++      install -c -m 644 auto.master $(INSTALLROOT)/etc
+       -mv -f $(INSTALLROOT)/etc/auto.misc $(INSTALLROOT)/etc/auto.misc.old
+-      install -c auto.misc   -m 644 $(INSTALLROOT)/etc
++      install -c -m 644 auto.misc $(INSTALLROOT)/etc
+       -mv -f $(INSTALLROOT)/etc/auto.net $(INSTALLROOT)/etc/auto.net.old
+-      install -c auto.net    -m 755 $(INSTALLROOT)/etc
++      install -c -m 755 auto.net $(INSTALLROOT)/etc
+       -mv -f $(INSTALLROOT)/etc/auto.smb $(INSTALLROOT)/etc/auto.smb.old
+-      install -c auto.smb    -m 755 $(INSTALLROOT)/etc
++      install -c -m 755 auto.smb    $(INSTALLROOT)/etc
+       install -d -m 755 $(INSTALLROOT)$(initdir)
+-      install -c rc.autofs   -m 755 $(INSTALLROOT)$(initdir)/autofs
++      install -c -m 755 rc.autofs   $(INSTALLROOT)$(initdir)/autofs
+       install -d -m 755 $(INSTALLROOT)$(autofslibdir)
+       install -d -m 755 $(INSTALLROOT)/var/run/autofs
+ ifeq ($(LDAP), 1)
+-      install -c autofs-ldap-auto-master -m 755 $(INSTALLROOT)$(autofslibdir)
++      install -c -m 755 autofs-ldap-auto-master $(INSTALLROOT)$(autofslibdir)
+ endif
+ clean):
+Index: autofs-4.1.4/daemon/Makefile
+===================================================================
+--- autofs-4.1.4.orig/daemon/Makefile  2006-06-19 15:10:47.526273136 +0200
++++ autofs-4.1.4/daemon/Makefile       2006-06-19 15:10:58.661580312 +0200
+@@ -26,6 +26,6 @@
+ install: all
+       install -d -m 755 $(INSTALLROOT)$(sbindir)
+-      install -c automount -m 755 $(INSTALLROOT)$(sbindir)
++      install -c -m 755 automount $(INSTALLROOT)$(sbindir)
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/no-bash.patch b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/no-bash.patch
new file mode 100644 (file)
index 0000000..16e83a0
--- /dev/null
@@ -0,0 +1,18 @@
+diff -Naur autofs-4.1.4/samples.orig/auto.net autofs-4.1.4/samples/auto.net
+--- autofs-4.1.4/samples.orig/auto.net 2007-11-21 11:29:57.000000000 -0600
++++ autofs-4.1.4/samples/auto.net      2007-11-21 11:30:27.000000000 -0600
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # $Id: auto.net,v 1.8 2005/04/05 13:02:09 raven Exp $
+diff -Naur autofs-4.1.4/samples.orig/auto.smb autofs-4.1.4/samples/auto.smb
+--- autofs-4.1.4/samples.orig/auto.smb 2007-11-21 11:29:57.000000000 -0600
++++ autofs-4.1.4/samples/auto.smb      2007-11-21 11:30:34.000000000 -0600
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # $Id: auto.smb,v 1.3 2005/04/05 13:02:09 raven Exp $
diff --git a/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/volatiles.99_autofs b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/volatiles.99_autofs
new file mode 100644 (file)
index 0000000..fc14d33
--- /dev/null
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d root root 0700 /var/run/autofs none
diff --git a/meta-openvuplus/recipes-base/autofs/autofs_4.1.4.bb b/meta-openvuplus/recipes-base/autofs/autofs_4.1.4.bb
new file mode 100644 (file)
index 0000000..f8d9bff
--- /dev/null
@@ -0,0 +1,80 @@
+SUMMARY = "kernel-based automounter for Linux"
+SECTION = "base"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+PR = "r10"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v4/${BP}.tar.bz2 \
+           file://020_auto_net_path_sortlocale_mountoptions.patch \
+           file://037_let_debian_rules_decide_on_CFLAGS.patch \
+           file://042_default_auto_master_all_commented_out.patch \
+           file://060_non_replicated_ping.patch \
+           file://061_multi_parse_fix.patch \
+           file://062_fix_memory_leak.patch \
+           file://063_misc_fixes.patch \
+           file://064_support_options_on_nis_maps.patch \
+           file://065_fix_master_map_in_ldap.patch \
+           file://066_canonicalise_mount_points.patch \
+           file://067_allow_disabling_bind_mounts.patch \
+           file://067_ldap_no_first_message.patch \
+           file://068_fix_invalid_rpcgen_code.patch \
+           file://069_support_spaces_in_smb_share_names.patch \
+           file://070_fix_regex_typo.patch \
+           file://071_fix_ldap_mounts.patch \
+           file://072_fix_auto_net_sort.patch \
+           file://073_configurable_locking.patch \
+           file://074_auto_smb_cifs.patch \
+           file://075_auto_net_escape_hash.patch \
+           file://076_ldap_deprecated.patch \
+           file://078_locking_fix_1.patch \
+           file://079_no_unlink_upstream.patch \
+           file://080_auto_smb_probe_credentials.patch \
+           file://081_auto_net_showmount_quotes.patch \
+           file://082_samples_makefile_typo.patch \
+           file://083_clarify_program_map_outputsyntax.patch \
+           file://084_init_lsb_header.patch \
+           file://085_auto_net_lp111612.patch \
+           file://cross.patch \
+           file://Makefile.rules-cross.patch \
+           file://install.patch \
+           file://no-bash.patch \
+           file://auto.hotplug \
+           file://auto.master \
+           file://auto.network \
+           file://autofs.default \
+           file://autofs.init \
+           file://volatiles.99_autofs \
+"
+SRC_URI[md5sum] = "7e3949114c00665b4636f0c318179657"
+SRC_URI[sha256sum] = "e25caa0e9639ea54dd7c4f21e8146ac9859a61fa126f397edf874b5fdc147430"
+
+S = "${WORKDIR}/${BP}"
+
+inherit autotools update-rc.d
+
+do_configure_prepend () {
+        if [ ! -e acinclude.m4 ]; then
+                cp aclocal.m4 acinclude.m4
+        fi
+}
+do_install () {
+        oe_runmake 'INSTALLROOT=${D}' install
+        install -d ${D}${sysconfdir}/default
+        install -m 644 ${WORKDIR}/autofs.default ${D}${sysconfdir}/default/autofs
+        install -d ${D}${sysconfdir}/init.d
+        install -m 755 ${WORKDIR}/autofs.init ${D}${sysconfdir}/init.d/autofs
+        install -m 644 ${WORKDIR}/auto.hotplug ${D}${sysconfdir}/auto.hotplug
+        install -m 644 ${WORKDIR}/auto.master ${D}${sysconfdir}/auto.master
+        install -m 644 ${WORKDIR}/auto.network ${D}${sysconfdir}/auto.network
+        install -d ${D}${sysconfdir}/default/volatiles
+        install -m 644 ${WORKDIR}/volatiles.99_autofs ${D}${sysconfdir}/default/volatiles/99_autofs
+}
+
+RDEPENDS_${PN} = "procps"
+
+INITSCRIPT_NAME = "autofs"
+INITSCRIPT_PARAMS = "defaults"
+
+PARALLEL_MAKE = ""
+
+INSANE_SKIP_${PN} = "dev-so"
diff --git a/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps.bb b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps.bb
new file mode 100644 (file)
index 0000000..4ab2603
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "Dreambox Keyboard Keymap files"
+LICENSE = "GPL"
+LIC_FILES_CHKSUM = "file://${THISDIR}/${PN}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d"
+MAINTAINER = "Felix Domke <tmbinc@elitedvb.net>"
+
+SRC_URI = "file://dream-de.info file://dream-de.kmap file://eng.info file://eng.kmap"
+
+PR = "r1"
+
+FILES_${PN} = "/"
+PACKAGE_ARCH = "all"
+
+do_install() {
+       install -d ${D}/usr/share/keymaps
+       for x in dream-de.info dream-de.kmap eng.info eng.kmap; do
+               install -m 0644 ${WORKDIR}/$x ${D}/usr/share/keymaps/$x
+       done
+}
diff --git a/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/GPL-1.0 b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/GPL-1.0
new file mode 100644 (file)
index 0000000..9d4ef93
--- /dev/null
@@ -0,0 +1,252 @@
+
+GNU General Public License, version 1
+
+                    GNU GENERAL PUBLIC LICENSE
+                     Version 1, February 1989
+
+ Copyright (C) 1989 Free Software Foundation, Inc.
+                    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The license agreements of most software companies try to keep users
+at the mercy of those companies.  By contrast, our General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  The
+General Public License applies to the Free Software Foundation`s
+software and to any other program whose authors commit to using it.
+You can use it for your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Specifically, the General Public License is designed to make
+sure that you have the freedom to give away or sell copies of free
+software, that you receive source code or can get it if you want it,
+that you can change the software or use pieces of it in new free
+programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of a such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must tell them their rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author`s protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors` reputations.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any program or other work which
+contains a notice placed by the copyright holder saying it may be
+distributed under the terms of this General Public License.  The
+"Program", below, refers to any such program or work, and a "work based
+on the Program" means either the Program or any work containing the
+Program or a portion of it, either verbatim or with modifications.  Each
+licensee is addressed as "you".
+
+  1. You may copy and distribute verbatim copies of the Program`s source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this
+General Public License and to the absence of any warranty; and give any
+other recipients of the Program a copy of this General Public License
+along with the Program.  You may charge a fee for the physical act of
+transferring a copy.
+
+  2. You may modify your copy or copies of the Program or any portion of
+it, and copy and distribute such modifications under the terms of Paragraph
+1 above, provided that you also do the following:
+
+    a) cause the modified files to carry prominent notices stating that
+    you changed the files and the date of any change; and
+
+    b) cause the whole of any work that you distribute or publish, that
+    in whole or in part contains the Program or any part thereof, either
+    with or without modifications, to be licensed at no charge to all
+    third parties under the terms of this General Public License (except
+    that you may choose to grant warranty protection to some or all
+    third parties, at your option).
+
+    c) If the modified program normally reads commands interactively when
+    run, you must cause it, when started running for such interactive use
+    in the simplest and most usual way, to print or display an
+    announcement including an appropriate copyright notice and a notice
+    that there is no warranty (or else, saying that you provide a
+    warranty) and that users may redistribute the program under these
+    conditions, and telling the user how to view a copy of this General
+    Public License.
+
+    d) You may charge a fee for the physical act of transferring a
+    copy, and you may at your option offer warranty protection in
+    exchange for a fee.
+
+Mere aggregation of another independent work with the Program (or its
+derivative) on a volume of a storage or distribution medium does not bring
+the other work under the scope of these terms.
+
+  3. You may copy and distribute the Program (or a portion or derivative of
+it, under Paragraph 2) in object code or executable form under the terms of
+Paragraphs 1 and 2 above provided that you also do one of the following:
+
+    a) accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of
+    Paragraphs 1 and 2 above; or,
+
+    b) accompany it with a written offer, valid for at least three
+    years, to give any third party free (except for a nominal charge
+    for the cost of distribution) a complete machine-readable copy of the
+    corresponding source code, to be distributed under the terms of
+    Paragraphs 1 and 2 above; or,
+
+    c) accompany it with the information you received as to where the
+    corresponding source code may be obtained.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form alone.)
+
+Source code for a work means the preferred form of the work for making
+modifications to it.  For an executable file, complete source code means
+all the source code for all modules it contains; but, as a special
+exception, it need not include source code for modules which are standard
+libraries that accompany the operating system on which the executable
+file runs, or for standard header files or definitions files that
+accompany that operating system.
+
+  4. You may not copy, modify, sublicense, distribute or transfer the
+Program except as expressly provided under this General Public License.
+Any attempt otherwise to copy, modify, sublicense, distribute or transfer
+the Program is void, and will automatically terminate your rights to use
+the Program under this License.  However, parties who have received
+copies, or rights to use copies, from you under this General Public
+License will not have their licenses terminated so long as such parties
+remain in full compliance.
+
+  5. By copying, distributing or modifying the Program (or any work based
+on the Program) you indicate your acceptance of this license to do so,
+and all its terms and conditions.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these
+terms and conditions.  You may not impose any further restrictions on the
+recipients` exercise of the rights granted herein.
+
+  7. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of the license which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+the license, you may choose any version ever published by the Free Software
+Foundation.
+
+  8. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+        Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to humanity, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+  To do so, attach the following notices to the program.  It is safest to
+attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program`s name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 1, or (at your option)
+    any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19xx name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w`.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c` for details.
+
+The hypothetical commands `show w` and `show c` should show the
+appropriate parts of the General Public License.  Of course, the
+commands you use may be called something other than `show w` and `show
+c`; they could even be mouse-clicks or menu items--whatever suits your
+program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  program `Gnomovision` (a program to direct compilers to make passes
+  at assemblers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+That`s all there is to it!
+
diff --git a/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.info b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.info
new file mode 100644 (file)
index 0000000..d7f5b07
--- /dev/null
@@ -0,0 +1,2 @@
+kmap=dream-de.kmap
+name=Dreambox Keyboard Deutsch
diff --git a/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.kmap b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.kmap
new file mode 100644 (file)
index 0000000..693317a
Binary files /dev/null and b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.kmap differ
diff --git a/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.info b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.info
new file mode 100644 (file)
index 0000000..d73372c
--- /dev/null
@@ -0,0 +1,2 @@
+kmap=eng.kmap
+name=Keyboard English
diff --git a/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.kmap b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.kmap
new file mode 100644 (file)
index 0000000..15a722f
Binary files /dev/null and b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.kmap differ
diff --git a/meta-openvuplus/recipes-base/fakelocale/fakelocale.bb b/meta-openvuplus/recipes-base/fakelocale/fakelocale.bb
new file mode 100644 (file)
index 0000000..aa50ca6
--- /dev/null
@@ -0,0 +1,48 @@
+SUMMARY = "Fake locale support"
+LICENSE = "CLOSED"
+SECTION = "base"
+PRIORITY = "required"
+PR = "r3"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/fakelocale.tar.gz file://locale.alias"
+SRC_URI[md5sum] = "d11a901c9e4dc2947cbc560044de2b67"
+SRC_URI[sha256sum] = "b424804aff7a23efaa1fa25d27a55ac25173d0e7e95d07fe31096250bb498cc6"
+
+S = "${WORKDIR}/fakelocale"
+
+inherit allarch
+
+LOCALEDIR = "${libdir}/locale"
+LOCALEDIR2 = "/usr/share/locale"
+
+LANGUAGES = "ar_AE cs_CZ da_DK de_DE el_GR es_ES et_EE fi_FI fr_FR fy_FY hr_HR \
+       hu_HU is_IS it_IT lt_LT nl_NL no_NO pl_PL pt_PT ro_RO ru_RU sk_SK sl_SI \
+       sr_YU sv_SE tr_TR ur_IN"
+
+RPROVIDES = "virtual-locale-ar virtual-locale-cs virtual-locale-da \
+       virtual-locale-de virtual-locale-el virtual-locale-es virtual-locale-et \
+       virtual-locale-fi virtual-locale-fr virtual-locale-fy virtual-locale-hr \
+       virtual-locale-hu virtual-locale-is virtual-locale-it virtual-locale-lt \
+       virtual-locale-nl virtual-locale-no virtual-locale-pl virtual-locale-pt \
+       virtual-locale-ro virtual-locale-ru virtual-locale-sk virtual-locale-sl \
+       virtual-locale-sr virtual-locale-sv virtual-locale-tr virtual-locale-ur"
+
+LOCALE_FILES = " LC_TIME LC_TELEPHONE LC_PAPER LC_NUMERIC LC_NAME LC_MONETARY LC_MESSAGES/SYS_LC_MESSAGES LC_MEASUREMENT \
+       LC_IDENTIFICATION LC_CTYPE LC_COLLATE LC_ADDRESS"
+
+do_install() {
+       install -d ${D}${LOCALEDIR}/fake/LC_MESSAGES
+       install -d ${D}${LOCALEDIR2}
+
+       for x in ${LOCALE_FILES}; do
+               install ${S}/$x ${D}${LOCALEDIR}/fake/$x
+       done
+       
+       for lang in ${LANGUAGES}; do
+               ln -s fake ${D}${LOCALEDIR}/${lang}
+       done
+
+       install ${WORKDIR}/locale.alias ${D}${LOCALEDIR2}
+}
+
+FILES_${PN} = "${LOCALEDIR} ${LOCALEDIR2}"
diff --git a/meta-openvuplus/recipes-base/fakelocale/files/locale.alias b/meta-openvuplus/recipes-base/fakelocale/files/locale.alias
new file mode 100644 (file)
index 0000000..b66b1eb
--- /dev/null
@@ -0,0 +1,28 @@
+English C
+Arabic ar_AE
+Czech cs_CZ
+Danish da_DK
+Deutsch de_DE
+Ellinika el_GR
+Spanish es_ES
+Estonian et_EE
+Suomi fi_FI
+French fr_FR
+Frisian fy_FY
+Croatia hr_HR
+Hungarian hu_HU
+Icelandic is_IS
+Italian it_IT
+Lithuanian lt_LT
+Dutch nl_NL
+Norwegian no_NO
+Polish pl_PL
+Portugues pt_PT
+Romania ro_RO
+Russian ru_RU
+Slovakian sk_SK
+Slovenian sl_SI
+Serbian sr_YU
+Svenska sv_SE
+Turkish tr_TR
+Urdu ur_IN
\ No newline at end of file
diff --git a/meta-openvuplus/recipes-base/opkg/opkg-collateral.bbappend b/meta-openvuplus/recipes-base/opkg/opkg-collateral.bbappend
new file mode 100644 (file)
index 0000000..429c37f
--- /dev/null
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+PR .= "-vuplus0"
diff --git a/meta-openvuplus/recipes-base/opkg/opkg-collateral/dest b/meta-openvuplus/recipes-base/opkg/opkg-collateral/dest
new file mode 100644 (file)
index 0000000..e041eb7
--- /dev/null
@@ -0,0 +1,5 @@
+dest root /
+dest cf /media/cf/
+dest ram /media/ram/
+dest hdd /media/hdd/
+dest usb /media/usb/
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0001-Fixed-opkg-losing-auto_installed-flag-on-upgrading.patch b/meta-openvuplus/recipes-base/opkg/opkg/0001-Fixed-opkg-losing-auto_installed-flag-on-upgrading.patch
new file mode 100644 (file)
index 0000000..4553124
--- /dev/null
@@ -0,0 +1,32 @@
+Upstream-Status: Backport
+
+From 319d02609992273e887242ed9788db68d3310b6c Mon Sep 17 00:00:00 2001
+From: "pixdamix@gmail.com"
+ <pixdamix@gmail.com@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>
+Date: Thu, 19 Jan 2012 13:52:06 +0000
+Subject: [PATCH 01/10] Fixed opkg losing auto_installed flag on upgrading
+
+Thanks-to: Christian Hitz <christian.hitz@aizo.com>
+
+git-svn-id: http://opkg.googlecode.com/svn/trunk@635 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
+---
+ libopkg/opkg_install.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/libopkg/opkg_install.c b/libopkg/opkg_install.c
+index 74a2ce1..3925f58 100644
+--- a/libopkg/opkg_install.c
++++ b/libopkg/opkg_install.c
+@@ -1449,6 +1449,9 @@ opkg_install_pkg(pkg_t *pkg, int from_upgrade)
+                /* removing files from old package, to avoid ghost files */
+                remove_data_files_and_list(old_pkg);
+                remove_maintainer_scripts(old_pkg);
++
++               /* maintain the "Auto-Installed: yes" flag */
++               pkg->auto_installed = old_pkg->auto_installed;
+         }
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0002-Don-t-mark-Conflicts-as-Depends.patch b/meta-openvuplus/recipes-base/opkg/opkg/0002-Don-t-mark-Conflicts-as-Depends.patch
new file mode 100644 (file)
index 0000000..9e122de
--- /dev/null
@@ -0,0 +1,29 @@
+From 8c00c6be3723a0dcf05a10b5aba8c1c3b1fe4cf7 Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Wed, 16 May 2012 23:29:04 +0200
+Subject: [PATCH 02/10] Don't mark Conflicts as Depends
+
+- Fixes 'whatconflicts' sub-command.
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libopkg/pkg_depends.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index 1e14d1f..a61e80e 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -609,8 +609,8 @@ void buildConflicts(pkg_t * pkg)
+     conflicts = pkg->conflicts = xcalloc(pkg->conflicts_count, sizeof(compound_depend_t));
+     for (i = 0; i < pkg->conflicts_count; i++) {
+-       conflicts->type = CONFLICTS;
+        parseDepends(conflicts, pkg->conflicts_str[i]);
++       conflicts->type = CONFLICTS;
+        free(pkg->conflicts_str[i]);
+        conflicts++;
+     }
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0003-Statically-link-libopkg-and-libbb.patch b/meta-openvuplus/recipes-base/opkg/opkg/0003-Statically-link-libopkg-and-libbb.patch
new file mode 100644 (file)
index 0000000..cfb7268
--- /dev/null
@@ -0,0 +1,107 @@
+From 698fdfccb2b2855fbe73ecad159b7987b49ddded Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 01:23:43 +0200
+Subject: [PATCH 03/10] Statically link libopkg and libbb
+
+* Based on https://dev.openwrt.org/browser/trunk/package/opkg/patches/007-force_static.patch
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libbb/Makefile.am   |    8 ++++----
+ libopkg/Makefile.am |   14 +++-----------
+ src/Makefile.am     |    4 ++--
+ tests/Makefile.am   |    6 +++---
+ 4 files changed, 12 insertions(+), 20 deletions(-)
+
+diff --git a/libbb/Makefile.am b/libbb/Makefile.am
+index 1cc82df..337d94f 100644
+--- a/libbb/Makefile.am
++++ b/libbb/Makefile.am
+@@ -2,9 +2,9 @@ HOST_CPU=@host_cpu@
+ BUILD_CPU=@build_cpu@
+ ALL_CFLAGS=-g -O -Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@
+-noinst_LTLIBRARIES = libbb.la
++noinst_LIBRARIES = libbb.a
+-libbb_la_SOURCES = gz_open.c \
++libbb_a_SOURCES = gz_open.c \
+       libbb.h \
+       unzip.c \
+       wfopen.c \
+@@ -22,5 +22,5 @@ libbb_la_SOURCES = gz_open.c \
+       all_read.c \
+       mode_string.c
+-libbb_la_CFLAGS = $(ALL_CFLAGS)
+-#libbb_la_LDFLAGS = -static
++libbb_a_CFLAGS = $(ALL_CFLAGS)
++#libbb_a_LDFLAGS = -static
+diff --git a/libopkg/Makefile.am b/libopkg/Makefile.am
+index 043c5c4..5882595 100644
+--- a/libopkg/Makefile.am
++++ b/libopkg/Makefile.am
+@@ -38,18 +38,10 @@ if HAVE_SHA256
+ opkg_util_sources += sha256.c sha256.h
+ endif
+-lib_LTLIBRARIES = libopkg.la
+-libopkg_la_SOURCES = \
++noinst_LIBRARIES = libopkg.a
++libopkg_a_SOURCES = \
+       $(opkg_libcore_sources) \
+       $(opkg_cmd_sources) $(opkg_db_sources) \
+       $(opkg_util_sources) $(opkg_list_sources)
+-libopkg_la_LIBADD = $(top_builddir)/libbb/libbb.la $(CURL_LIBS) $(GPGME_LIBS) $(OPENSSL_LIBS) $(PATHFINDER_LIBS)
+-
+-libopkg_la_LDFLAGS = -version-info 1:0:0
+-
+-# make sure we only export symbols that are for public use
+-#libopkg_la_LDFLAGS = -export-symbols-regex "^opkg_.*"
+-
+-
+-
++libopkg_a_LIBADD = $(top_builddir)/libbb/libbb.a $(CURL_LIBS) $(GPGME_LIBS) $(OPENSSL_LIBS) $(PATHFINDER_LIBS)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index efdc19d..bb7a792 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -2,5 +2,5 @@ AM_CFLAGS = -I${top_srcdir}/libopkg ${ALL_CFLAGS}
+ bin_PROGRAMS = opkg-cl
+ opkg_cl_SOURCES = opkg-cl.c
+-opkg_cl_LDADD = $(top_builddir)/libopkg/libopkg.la \
+-                $(top_builddir)/libbb/libbb.la 
++opkg_cl_LDADD = $(top_builddir)/libopkg/libopkg.a \
++                $(top_builddir)/libbb/libbb.a
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 1a6f565..132c792 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -4,11 +4,11 @@ AM_CFLAGS = $(ALL_CFLAGS) -Wall -g -O3 -I${top_srcdir}/libopkg
+ #noinst_PROGRAMS = libopkg_test opkg_active_list_test
+ noinst_PROGRAMS = libopkg_test
+-#opkg_hash_test_LDADD = $(top_builddir)/libbb/libbb.la $(top_builddir)/libopkg/libopkg.la
++#opkg_hash_test_LDADD = $(top_builddir)/libbb/libbb.a $(top_builddir)/libopkg/libopkg.a
+ #opkg_hash_test_SOURCES = opkg_hash_test.c
+ #opkg_hash_test_CFLAGS = $(ALL_CFLAGS) -I$(top_srcdir)
+-#opkg_extract_test_LDADD = $(top_builddir)/libbb/libbb.la $(top_builddir)/libopkg/libopkg.la
++#opkg_extract_test_LDADD = $(top_builddir)/libbb/libbb.a $(top_builddir)/libopkg/libopkg.a
+ #opkg_extract_test_SOURCES = opkg_extract_test.c
+ #opkg_extract_test_CFLAGS = $(ALL_CFLAGS) -I$(top_srcdir)
+@@ -16,7 +16,7 @@ noinst_PROGRAMS = libopkg_test
+ #opkg_active_list_test_SOURCES = opkg_active_list_test.c
+ #opkg_active_list_test_CFLAGS = $(ALL_CFLAGS) -I$(top_srcdir)
+-libopkg_test_LDADD = $(top_builddir)/libopkg/libopkg.la
++libopkg_test_LDADD = $(top_builddir)/libopkg/libopkg.a $(top_builddir)/libbb/libbb.a
+ libopkg_test_SOURCE = libopkg_test.c
+ libopkg_test_LDFLAGS = -static
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0004-Makefile.am-remove-g-and-O-compiler-flags.patch b/meta-openvuplus/recipes-base/opkg/opkg/0004-Makefile.am-remove-g-and-O-compiler-flags.patch
new file mode 100644 (file)
index 0000000..c9b9d6b
--- /dev/null
@@ -0,0 +1,50 @@
+From ca86fc9ad82713e17cd69e92ce2033631fa73675 Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 01:32:43 +0200
+Subject: [PATCH 04/10] Makefile.am: remove -g and -O compiler flags
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ Makefile.am       |    2 +-
+ libbb/Makefile.am |    2 +-
+ tests/Makefile.am |    2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 26f2d99..1c6226f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,7 +6,7 @@ SUBDIRS = libbb libopkg src tests utils man
+ HOST_CPU=@host_cpu@
+ BUILD_CPU=@build_cpu@
+ OPKGLIBDIR=@opkglibdir@ 
+-ALL_CFLAGS=-g -O -Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@ -DLIBDIR=\"@libdir@\" -DOPKGLIBDIR=\"@opkglibdir@\" -DDATADIR=\"@datadir@\"
++ALL_CFLAGS=-Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@ -DLIBDIR=\"@libdir@\" -DOPKGLIBDIR=\"@opkglibdir@\" -DDATADIR=\"@datadir@\"
+ PATHFINDER_CFLAGS = @PATHFINDER_CFLAGS@
+ PATHFINDER_LIBS   = @PATHFINDER_LIBS@
+diff --git a/libbb/Makefile.am b/libbb/Makefile.am
+index 337d94f..6af5f04 100644
+--- a/libbb/Makefile.am
++++ b/libbb/Makefile.am
+@@ -1,6 +1,6 @@
+ HOST_CPU=@host_cpu@
+ BUILD_CPU=@build_cpu@
+-ALL_CFLAGS=-g -O -Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@
++ALL_CFLAGS=-Wall -DHOST_CPU_STR=\"@host_cpu@\" -DBUILD_CPU=@build_cpu@
+ noinst_LIBRARIES = libbb.a
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 132c792..4dccb74 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = $(ALL_CFLAGS) -Wall -g -O3 -I${top_srcdir}/libopkg
++AM_CFLAGS = $(ALL_CFLAGS) -Wall -I${top_srcdir}/libopkg
+ #noinst_PROGRAMS = opkg_hash_test opkg_extract_test
+ #noinst_PROGRAMS = libopkg_test opkg_active_list_test
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0005-pkg_depends-remove-unused-variables-to-fix-compiler-.patch b/meta-openvuplus/recipes-base/opkg/opkg/0005-pkg_depends-remove-unused-variables-to-fix-compiler-.patch
new file mode 100644 (file)
index 0000000..1820e52
--- /dev/null
@@ -0,0 +1,48 @@
+From 4a5bc6cbce81497442f79ded5c78389024df0e60 Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 01:14:23 +0200
+Subject: [PATCH 05/10] pkg_depends: remove unused variables to fix compiler
+ warnings
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libopkg/pkg_depends.c |    5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index a61e80e..68a81f9 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -269,13 +269,10 @@ is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg)
+ {
+     int i ;
+     int replaces_count = pkg->replaces_count;
+-    abstract_pkg_t **replaces;
+     if (pkg->replaces_count==0)    // No replaces, it's surely a conflict
+         return 0;
+-    replaces = pkg->replaces;
+-
+     for (i = 0; i < replaces_count; i++) {
+         if (strcmp(pkg_scout->name,pkg->replaces[i]->name)==0) {      // Found
+             opkg_msg(DEBUG2, "Seems I've found a replace %s %s\n",
+@@ -295,7 +292,6 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
+     depend_t ** possible_satisfiers;
+     depend_t * possible_satisfier;
+     int i, j, k;
+-    int count;
+     abstract_pkg_t * ab_pkg;
+     pkg_t **pkg_scouts;
+     pkg_t *pkg_scout;
+@@ -315,7 +311,6 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
+     }
+     installed_conflicts = pkg_vec_alloc();
+-    count = pkg->conflicts_count;
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch b/meta-openvuplus/recipes-base/opkg/opkg/0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch
new file mode 100644 (file)
index 0000000..89934f2
--- /dev/null
@@ -0,0 +1,34 @@
+From e2b289330280e9f9fb5dd2cc10c736ca06d273f4 Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 01:15:15 +0200
+Subject: [PATCH 06/10] pkg_hash_fetch_conflicts: fix possible segfaults
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libopkg/pkg_depends.c |    8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index 68a81f9..6ff75f1 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -322,10 +322,14 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
+       /* foreach possible satisfier */
+       for(j = 0; j < conflicts->possibility_count; j++){
+             possible_satisfier = possible_satisfiers[j];
+-            if (!possible_satisfier)
++            if (!possible_satisfier) {
+                 opkg_msg(ERROR, "Internal error: possible_satisfier=NULL\n");
+-            if (!possible_satisfier->pkg)
++                continue;
++            }
++            if (!possible_satisfier->pkg) {
+                 opkg_msg(ERROR, "Internal error: possible_satisfier->pkg=NULL\n");
++                continue;
++            }
+           test_vec = possible_satisfier->pkg->pkgs;
+           if (test_vec) {
+                 /* pkg_vec found, it is an actual package conflict
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch b/meta-openvuplus/recipes-base/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch
new file mode 100644 (file)
index 0000000..575c1e1
--- /dev/null
@@ -0,0 +1,94 @@
+From b925a520a63fb291675f707e602d04295236c85b Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 01:17:52 +0200
+Subject: [PATCH 07/10] pkg_hash_fetch_conflicts: move iteration over
+ conflicts to subroutine
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libopkg/pkg_depends.c |   46 ++++++++++++++++++++++++----------------------
+ 1 file changed, 24 insertions(+), 22 deletions(-)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index 6ff75f1..1999b64 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -284,39 +284,22 @@ is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg)
+ }
+-
+-pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
++static void __pkg_hash_fetch_conflicts(pkg_t * pkg, pkg_vec_t * installed_conflicts)
+ {
+-    pkg_vec_t * installed_conflicts, * test_vec;
++    pkg_vec_t * test_vec;
+     compound_depend_t * conflicts;
+     depend_t ** possible_satisfiers;
+     depend_t * possible_satisfier;
+     int i, j, k;
+-    abstract_pkg_t * ab_pkg;
+     pkg_t **pkg_scouts;
+     pkg_t *pkg_scout;
+-    /*
+-     * this is a setup to check for redundant/cyclic dependency checks,
+-     * which are marked at the abstract_pkg level
+-     */
+-    if(!(ab_pkg = pkg->parent)){
+-      opkg_msg(ERROR, "Internal error: %s not in hash table\n", pkg->name);
+-      return (pkg_vec_t *)NULL;
+-    }
+-
+     conflicts = pkg->conflicts;
+-    if(!conflicts){
+-      return (pkg_vec_t *)NULL;
+-    }
+-    installed_conflicts = pkg_vec_alloc();
+-
+-
+-
++    if(!conflicts)
++      return;
+     /* foreach conflict */
+     for(i = 0; i < pkg->conflicts_count; i++){
+-
+       possible_satisfiers = conflicts->possibilities;
+       /* foreach possible satisfier */
+@@ -352,11 +335,30 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
+       }
+       conflicts++;
+     }
++}
++
++pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
++{
++    pkg_vec_t * installed_conflicts;
++    abstract_pkg_t * ab_pkg;
++
++    /*
++     * this is a setup to check for redundant/cyclic dependency checks,
++     * which are marked at the abstract_pkg level
++     */
++    if(!(ab_pkg = pkg->parent)){
++      opkg_msg(ERROR, "Internal error: %s not in hash table\n", pkg->name);
++      return (pkg_vec_t *)NULL;
++    }
++
++    installed_conflicts = pkg_vec_alloc();
++
++    __pkg_hash_fetch_conflicts(pkg, installed_conflicts);
+     if (installed_conflicts->len)
+           return installed_conflicts;
+     pkg_vec_free(installed_conflicts);
+-      return (pkg_vec_t *)NULL;
++    return (pkg_vec_t *)NULL;
+ }
+ int version_constraints_satisfied(depend_t * depends, pkg_t * pkg)
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch b/meta-openvuplus/recipes-base/opkg/opkg/0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch
new file mode 100644 (file)
index 0000000..e958289
--- /dev/null
@@ -0,0 +1,49 @@
+From 53de52b533ee30676d051ee941cfc0a517e9190e Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 01:18:42 +0200
+Subject: [PATCH 08/10] pkg_hash_fetch_conflicts: take into account conflicts
+ of installed packages
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libopkg/pkg_depends.c |   17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index 1999b64..f237733 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -337,6 +337,22 @@ static void __pkg_hash_fetch_conflicts(pkg_t * pkg, pkg_vec_t * installed_confli
+     }
+ }
++static void __pkg_hash_fetch_conflictees(pkg_t *pkg, pkg_vec_t *installed_conflicts)
++{
++    int i;
++
++    pkg_vec_t *available_pkgs = pkg_vec_alloc();
++    pkg_hash_fetch_all_installed(available_pkgs);
++
++    for (i = 0; i < available_pkgs->len; i++) {
++        pkg_t *cpkg = available_pkgs->pkgs[i];
++        if (pkg_conflicts(cpkg, pkg) && !is_pkg_in_pkg_vec(installed_conflicts, cpkg))
++            pkg_vec_insert(installed_conflicts, cpkg);
++    }
++
++    pkg_vec_free(available_pkgs);
++}
++
+ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
+ {
+     pkg_vec_t * installed_conflicts;
+@@ -354,6 +370,7 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
+     installed_conflicts = pkg_vec_alloc();
+     __pkg_hash_fetch_conflicts(pkg, installed_conflicts);
++    __pkg_hash_fetch_conflictees(pkg, installed_conflicts);
+     if (installed_conflicts->len)
+           return installed_conflicts;
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0009-Revert-Add-Recommended-packages-to-the-depended_upon.patch b/meta-openvuplus/recipes-base/opkg/opkg/0009-Revert-Add-Recommended-packages-to-the-depended_upon.patch
new file mode 100644 (file)
index 0000000..bf61aef
--- /dev/null
@@ -0,0 +1,100 @@
+From 70d10c10288da23755055c881bea01b61a2d4df7 Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Thu, 17 May 2012 22:57:35 +0200
+Subject: [PATCH 09/10] Revert "Add Recommended packages to the
+ depended_upon_by field."
+
+This reverts commit ac2222f7d6514fb403ce0848f6812a22a48f75c7.
+---
+ libopkg/pkg_depends.c |   70 ++++++++++++++++++++++---------------------------
+ 1 file changed, 32 insertions(+), 38 deletions(-)
+
+diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
+index f237733..ec60b99 100644
+--- a/libopkg/pkg_depends.c
++++ b/libopkg/pkg_depends.c
+@@ -787,49 +787,43 @@ pkg_depend_str(pkg_t *pkg, int idx)
+       return str;
+ }
++/*
++ * WARNING: This function assumes pre_depends and depends are at the
++ * start of the pkg->depends array.
++ */
+ void buildDependedUponBy(pkg_t * pkg, abstract_pkg_t * ab_pkg)
+ {
+-      compound_depend_t * depends;
+-      int count, othercount;
+-      int i, j;
+-      abstract_pkg_t * ab_depend;
+-      abstract_pkg_t ** temp;
+-
+-      count = pkg->pre_depends_count +
+-                      pkg->depends_count +
+-                      pkg->recommends_count +
+-                      pkg->suggests_count;
+-
+-      for (i = 0; i < count; i++) {
+-              depends = &pkg->depends[i];
+-              if (depends->type != PREDEPEND
+-                  && depends->type != DEPEND
+-                  && depends->type != RECOMMEND)
+-                      continue;
+-              for (j = 0; j < depends->possibility_count; j++) {
+-                      ab_depend = depends->possibilities[j]->pkg;
+-                      if (!ab_depend->depended_upon_by) {
+-                              ab_depend->depended_upon_by =
+-                                      xcalloc(1, sizeof(abstract_pkg_t *));
+-                      }
++     compound_depend_t * depends;
++     int count, othercount;
++     int i, j;
++     abstract_pkg_t * ab_depend;
++     abstract_pkg_t ** temp;
+-                      temp = ab_depend->depended_upon_by;
+-                      othercount = 1;
+-                      while (*temp) {
+-                          temp++;
+-                          othercount++;
+-                      }
+-                      *temp = ab_pkg;
++     count = pkg->pre_depends_count + pkg->depends_count;
++     depends = pkg->depends;
+-                      ab_depend->depended_upon_by =
+-                              xrealloc(ab_depend->depended_upon_by,
+-                              (othercount + 1) * sizeof(abstract_pkg_t *));
++     for (i = 0; i < count; i++) {
++        for (j = 0; j < depends->possibility_count; j++){
++             ab_depend = depends->possibilities[j]->pkg;
++             if(!ab_depend->depended_upon_by)
++                  ab_depend->depended_upon_by = xcalloc(1, sizeof(abstract_pkg_t *));
++
++             temp = ab_depend->depended_upon_by;
++             othercount = 1;
++             while(*temp){
++                  temp++;
++                  othercount++;
++             }
++             *temp = ab_pkg;
+-                      /* the array may have been moved by realloc */
+-                      temp = ab_depend->depended_upon_by + othercount;
+-                      *temp = NULL;
+-              }
+-      }
++             ab_depend->depended_upon_by = xrealloc(ab_depend->depended_upon_by,
++                                                                      (othercount + 1) * sizeof(abstract_pkg_t *));
++             /* the array may have moved */
++             temp = ab_depend->depended_upon_by + othercount;
++             *temp = NULL;
++        }
++        depends++;
++     }
+ }
+ static depend_t * depend_init(void)
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg/0010-opkg_remove-auto-delete-.pyo-files.patch b/meta-openvuplus/recipes-base/opkg/opkg/0010-opkg_remove-auto-delete-.pyo-files.patch
new file mode 100644 (file)
index 0000000..3bc2e5d
--- /dev/null
@@ -0,0 +1,33 @@
+From 719cc4ab765c008bd7e4f2d085692657c33d171e Mon Sep 17 00:00:00 2001
+From: Andreas Oberritter <obi@opendreambox.org>
+Date: Mon, 21 May 2012 14:05:37 +0200
+Subject: [PATCH 10/10] opkg_remove: auto-delete .pyo files
+
+Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
+---
+ libopkg/opkg_remove.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/libopkg/opkg_remove.c b/libopkg/opkg_remove.c
+index 5f4219b..4320dc3 100644
+--- a/libopkg/opkg_remove.c
++++ b/libopkg/opkg_remove.c
+@@ -375,8 +375,15 @@ remove_data_files_and_list(pkg_t *pkg)
+         }
+         if (!conf->noaction) {
++              size_t l = strlen(file_name);
+               opkg_msg(INFO, "Deleting %s.\n", file_name);
+              unlink(file_name);
++              if (l >= 3 && !strcmp(&file_name[l - 3], ".py")) {
++                      char pyo_file_name[l + 2];
++                      strcpy(pyo_file_name, file_name);
++                      strcat(pyo_file_name, "o");
++                      unlink(pyo_file_name);
++              }
+         } else
+               opkg_msg(INFO, "Not deleting %s. (noaction)\n",
+                               file_name);
+-- 
+1.7.9.5
+
diff --git a/meta-openvuplus/recipes-base/opkg/opkg_svn.bbappend b/meta-openvuplus/recipes-base/opkg/opkg_svn.bbappend
new file mode 100644 (file)
index 0000000..e5a54e4
--- /dev/null
@@ -0,0 +1,14 @@
+PR .= "-vuplus0"
+
+SRC_URI += "file://0001-Fixed-opkg-losing-auto_installed-flag-on-upgrading.patch \
+            file://0002-Don-t-mark-Conflicts-as-Depends.patch \
+            file://0003-Statically-link-libopkg-and-libbb.patch \
+            file://0004-Makefile.am-remove-g-and-O-compiler-flags.patch \
+            file://0005-pkg_depends-remove-unused-variables-to-fix-compiler-.patch \
+            file://0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch \
+            file://0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch \
+            file://0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch \
+            file://0009-Revert-Add-Recommended-packages-to-the-depended_upon.patch \
+            file://0010-opkg_remove-auto-delete-.pyo-files.patch"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-openvuplus/recipes-base/vuplus-compat/vuplus-compat_1.0.bb b/meta-openvuplus/recipes-base/vuplus-compat/vuplus-compat_1.0.bb
new file mode 100644 (file)
index 0000000..25c096a
--- /dev/null
@@ -0,0 +1,22 @@
+SUMMARY = "Vuplus compatibility links"
+SECTION = "base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+PRIORITY = "required"
+PR = "r0"
+
+inherit allarch
+
+do_install() {
+        install -d ${D}${base_libdir}
+        ln -sf libcrypto.so.0.9.8 ${D}${base_libdir}/libcrypto.so.0.9.7
+        ln -sf libgcc_s.so.1 ${D}${base_libdir}/libgcc_s_nof.so.1
+        install -d ${D}${libdir}
+        ln -sf libdvbsi++.so.1 ${D}${libdir}/libdvbsi++.so.0
+        ln -sf libgif.so.4 ${D}${libdir}/libungif.so.4
+        ln -sf libjpeg.so.8 ${D}${libdir}/libjpeg.so.62
+        ln -sf libssl.so.0.9.8 ${D}${libdir}/libssl.so.0.9.7
+        ln -sf libpython2.7.so.1.0 ${D}${libdir}/libpython2.6.so.1.0
+}
+
+PACKAGES = "${PN}"