From 4a8d962497eff022a8306264d68b13b2e6314c2f Mon Sep 17 00:00:00 2001 From: "Chang.H.S" Date: Tue, 27 Nov 2012 16:45:31 +0900 Subject: [PATCH] add base packages.. --- ...020_auto_net_path_sortlocale_mountoptions.patch | 19 + .../037_let_debian_rules_decide_on_CFLAGS.patch | 34 + ...042_default_auto_master_all_commented_out.patch | 18 + .../autofs-4.1.4/060_non_replicated_ping.patch | 228 ++++++ .../autofs/autofs-4.1.4/061_multi_parse_fix.patch | 60 ++ .../autofs/autofs-4.1.4/062_fix_memory_leak.patch | 32 + .../autofs/autofs-4.1.4/063_misc_fixes.patch | 82 +++ .../064_support_options_on_nis_maps.patch | 45 ++ .../autofs-4.1.4/065_fix_master_map_in_ldap.patch | 22 + .../066_canonicalise_mount_points.patch | 24 + .../067_allow_disabling_bind_mounts.patch | 77 ++ .../autofs-4.1.4/067_ldap_no_first_message.patch | 28 + .../autofs-4.1.4/068_fix_invalid_rpcgen_code.patch | 21 + .../069_support_spaces_in_smb_share_names.patch | 19 + .../autofs/autofs-4.1.4/070_fix_regex_typo.patch | 19 + .../autofs/autofs-4.1.4/071_fix_ldap_mounts.patch | 19 + .../autofs-4.1.4/072_fix_auto_net_sort.patch | 19 + .../autofs-4.1.4/073_configurable_locking.patch | 173 +++++ .../autofs/autofs-4.1.4/074_auto_smb_cifs.patch | 19 + .../autofs-4.1.4/075_auto_net_escape_hash.patch | 16 + .../autofs/autofs-4.1.4/076_ldap_deprecated.patch | 265 +++++++ .../autofs/autofs-4.1.4/078_locking_fix_1.patch | 82 +++ .../autofs-4.1.4/079_no_unlink_upstream.patch | 55 ++ .../080_auto_smb_probe_credentials.patch | 37 + .../081_auto_net_showmount_quotes.patch | 19 + .../autofs-4.1.4/082_samples_makefile_typo.patch | 18 + .../083_clarify_program_map_outputsyntax.patch | 19 + .../autofs/autofs-4.1.4/084_init_lsb_header.patch | 26 + .../autofs-4.1.4/085_auto_net_lp111612.patch | 20 + .../autofs/autofs-4.1.4/Makefile.rules-cross.patch | 19 + .../recipes-base/autofs/autofs-4.1.4/auto.hotplug | 1 + .../recipes-base/autofs/autofs-4.1.4/auto.master | 11 + .../recipes-base/autofs/autofs-4.1.4/auto.network | 2 + .../autofs/autofs-4.1.4/autofs.default | 2 + .../recipes-base/autofs/autofs-4.1.4/autofs.init | 803 +++++++++++++++++++++ .../recipes-base/autofs/autofs-4.1.4/cross.patch | 42 ++ .../recipes-base/autofs/autofs-4.1.4/install.patch | 71 ++ .../recipes-base/autofs/autofs-4.1.4/no-bash.patch | 18 + .../autofs/autofs-4.1.4/volatiles.99_autofs | 2 + .../recipes-base/autofs/autofs_4.1.4.bb | 80 ++ .../dreambox-keymaps/dreambox-keymaps.bb | 18 + .../dreambox-keymaps/dreambox-keymaps/GPL-1.0 | 252 +++++++ .../dreambox-keymaps/dream-de.info | 2 + .../dreambox-keymaps/dream-de.kmap | Bin 0 -> 2823 bytes .../dreambox-keymaps/dreambox-keymaps/eng.info | 2 + .../dreambox-keymaps/dreambox-keymaps/eng.kmap | Bin 0 -> 2823 bytes .../recipes-base/fakelocale/fakelocale.bb | 48 ++ .../recipes-base/fakelocale/files/locale.alias | 28 + .../recipes-base/opkg/opkg-collateral.bbappend | 3 + .../recipes-base/opkg/opkg-collateral/dest | 5 + ...g-losing-auto_installed-flag-on-upgrading.patch | 32 + .../0002-Don-t-mark-Conflicts-as-Depends.patch | 29 + .../0003-Statically-link-libopkg-and-libbb.patch | 107 +++ ...Makefile.am-remove-g-and-O-compiler-flags.patch | 50 ++ ...-remove-unused-variables-to-fix-compiler-.patch | 48 ++ ...sh_fetch_conflicts-fix-possible-segfaults.patch | 34 + ...tch_conflicts-move-iteration-over-conflic.patch | 94 +++ ...tch_conflicts-take-into-account-conflicts.patch | 49 ++ ...Recommended-packages-to-the-depended_upon.patch | 100 +++ .../0010-opkg_remove-auto-delete-.pyo-files.patch | 33 + .../recipes-base/opkg/opkg_svn.bbappend | 14 + .../vuplus-compat/vuplus-compat_1.0.bb | 22 + 62 files changed, 3536 insertions(+) create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/020_auto_net_path_sortlocale_mountoptions.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/037_let_debian_rules_decide_on_CFLAGS.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/042_default_auto_master_all_commented_out.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/060_non_replicated_ping.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/061_multi_parse_fix.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/062_fix_memory_leak.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/063_misc_fixes.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/064_support_options_on_nis_maps.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/065_fix_master_map_in_ldap.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/066_canonicalise_mount_points.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_allow_disabling_bind_mounts.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_ldap_no_first_message.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/068_fix_invalid_rpcgen_code.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/069_support_spaces_in_smb_share_names.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/070_fix_regex_typo.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/071_fix_ldap_mounts.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/072_fix_auto_net_sort.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/073_configurable_locking.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/074_auto_smb_cifs.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/075_auto_net_escape_hash.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/076_ldap_deprecated.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/078_locking_fix_1.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/079_no_unlink_upstream.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/080_auto_smb_probe_credentials.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/081_auto_net_showmount_quotes.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/082_samples_makefile_typo.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/083_clarify_program_map_outputsyntax.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/084_init_lsb_header.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/085_auto_net_lp111612.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/Makefile.rules-cross.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.hotplug create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.master create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.network create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.default create mode 100755 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.init create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/cross.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/install.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/no-bash.patch create mode 100644 meta-openvuplus/recipes-base/autofs/autofs-4.1.4/volatiles.99_autofs create mode 100644 meta-openvuplus/recipes-base/autofs/autofs_4.1.4.bb create mode 100644 meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps.bb create mode 100644 meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/GPL-1.0 create mode 100644 meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.info create mode 100644 meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.kmap create mode 100644 meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.info create mode 100644 meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.kmap create mode 100644 meta-openvuplus/recipes-base/fakelocale/fakelocale.bb create mode 100644 meta-openvuplus/recipes-base/fakelocale/files/locale.alias create mode 100644 meta-openvuplus/recipes-base/opkg/opkg-collateral.bbappend create mode 100644 meta-openvuplus/recipes-base/opkg/opkg-collateral/dest create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0001-Fixed-opkg-losing-auto_installed-flag-on-upgrading.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0002-Don-t-mark-Conflicts-as-Depends.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0003-Statically-link-libopkg-and-libbb.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0004-Makefile.am-remove-g-and-O-compiler-flags.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0005-pkg_depends-remove-unused-variables-to-fix-compiler-.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0009-Revert-Add-Recommended-packages-to-the-depended_upon.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg/0010-opkg_remove-auto-delete-.pyo-files.patch create mode 100644 meta-openvuplus/recipes-base/opkg/opkg_svn.bbappend create mode 100644 meta-openvuplus/recipes-base/vuplus-compat/vuplus-compat_1.0.bb 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 index 0000000..ed747b3 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/020_auto_net_path_sortlocale_mountoptions.patch @@ -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 index 0000000..d0a129f --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/037_let_debian_rules_decide_on_CFLAGS.patch @@ -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 index 0000000..e3986cd --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/042_default_auto_master_all_commented_out.patch @@ -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 index 0000000..c8493da --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/060_non_replicated_ping.patch @@ -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 + #include + #include ++#include + + #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 index 0000000..8b11264 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/061_multi_parse_fix.patch @@ -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 index 0000000..1ba0cea --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/062_fix_memory_leak.patch @@ -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 index 0000000..fcfc8a2 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/063_misc_fixes.patch @@ -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 index 0000000..b71d9f5 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/064_support_options_on_nis_maps.patch @@ -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 index 0000000..1898571 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/065_fix_master_map_in_ldap.patch @@ -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 index 0000000..0d1588c --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/066_canonicalise_mount_points.patch @@ -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 index 0000000..71ed3f1 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_allow_disabling_bind_mounts.patch @@ -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 index 0000000..e85d37b --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/067_ldap_no_first_message.patch @@ -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 index 0000000..abb61ea --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/068_fix_invalid_rpcgen_code.patch @@ -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 index 0000000..a07e966 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/069_support_spaces_in_smb_share_names.patch @@ -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 index 0000000..46f2159 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/070_fix_regex_typo.patch @@ -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 index 0000000..ee0c4ef --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/071_fix_ldap_mounts.patch @@ -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 index 0000000..5edec83 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/072_fix_auto_net_sort.patch @@ -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 index 0000000..94058ca --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/073_configurable_locking.patch @@ -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 index 0000000..28590ee --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/074_auto_smb_cifs.patch @@ -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 index 0000000..09c0ccb --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/075_auto_net_escape_hash.patch @@ -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 index 0000000..93cfc05 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/076_ldap_deprecated.patch @@ -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 header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define to 1 if you have the 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 header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define to 1 if you have the header file. */ ++#undef HAVE_STDLIB_H ++ ++/* Define to 1 if you have the header file. */ ++#undef HAVE_STRINGS_H ++ ++/* Define to 1 if you have the header file. */ ++#undef HAVE_STRING_H ++ ++/* Define to 1 if you have the header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define to 1 if you have the 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 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 index 0000000..eb22a2b --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/078_locking_fix_1.patch @@ -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 index 0000000..eb062e4 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/079_no_unlink_upstream.patch @@ -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 index 0000000..0b6ca44 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/080_auto_smb_probe_credentials.patch @@ -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 index 0000000..25d5ec8 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/081_auto_net_showmount_quotes.patch @@ -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 index 0000000..5667232 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/082_samples_makefile_typo.patch @@ -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 index 0000000..e772b90 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/083_clarify_program_map_outputsyntax.patch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 083_clarify_program_map_outputsyntax.dpatch +## +## 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 index 0000000..8a07693 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/084_init_lsb_header.patch @@ -0,0 +1,26 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 84_init_lsb_header.dpatch by +## +## 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 index 0000000..23e455b --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/085_auto_net_lp111612.patch @@ -0,0 +1,20 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 085-auto.net-lp111612 by Morten Kjeldgaard +## +## 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 index 0000000..1f9ea41 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/Makefile.rules-cross.patch @@ -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 index 0000000..67cf4c5 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.hotplug @@ -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 index 0000000..41c2389 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.master @@ -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 index 0000000..c1835d9 --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/auto.network @@ -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 index 0000000..e8619eb --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.default @@ -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 index 0000000..c32d08e --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/autofs.init @@ -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 index 0000000..f27cc0a --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs-4.1.4/cross.patch @@ -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 < +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 index 0000000..f8d9bff --- /dev/null +++ b/meta-openvuplus/recipes-base/autofs/autofs_4.1.4.bb @@ -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 index 0000000..4ab2603 --- /dev/null +++ b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps.bb @@ -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 " + +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 index 0000000..9d4ef93 --- /dev/null +++ b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/GPL-1.0 @@ -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. + + + Copyright (C) 19yy + + This program is free software; you can 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. + + , 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 index 0000000..d7f5b07 --- /dev/null +++ b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/dream-de.info @@ -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 index 0000000000000000000000000000000000000000..693317a781145b060e19509cb4b353d69b7a58d7 GIT binary patch literal 2823 zcmd^>*-{%v6o&uPt=9alBLQOHf(@9>;C;6--uHdqV#i?P4P)aKV`Ka-sZ`}QmE{fc z47o~GZt@Jd%0*fui9#Su2)>J^q?w+XbEd!k&-q6qW1~~!!xJKc*)RTo9|N>t6E)tCBO-|HKFtj~2q|3<%&$mp=X();>AAL=80qGS40 z|I$A(7y+F+rSJ5fzSR+ZrsEjEdaR3J(~-q$6X8z0>Q)lsBq@ zHf6;cYb|W0NrssYN=npV?q(|@V>4)t#5k!CrRN1V2 zH8(bY9QfPOf$y;fUFgOJ^r8=Yu@84+{tJ3dkLX3ctT*+Fp3rl8UVq2hnE!xY(!+XG zkLhtesi*X`{-(cTDDd~_4ZW_1^r{}zvw8-5up8gZ;r}6?Ri#u(R;r~&+GJJWw@dI3 z$!cjYC791|w8(E#|BgSG4?p6k!fJfLE!@UOd|ept*GYU=s(-kDro8@fuIVUb%;}GB z^ZMhL+<6B5eSHu(=+8SY?J};?Rk^IIb~Ucn)%jXueAZX{8sFe6e5J4Qjb44)XMC!l z|Fo-j4f%N$e|=MAeBDa)kLMh^Al|nX^A`8Wq5%%os6{jC;8BUH_*$rc2x^c(5)p_L z6zP0ajvq~EghhQgtU#uCKCXX+`frmC>69+%mLBPqK3OaMLI1?(^$!mmkafkG<@fXT zUw-|U=9@qIa{O48umA9buykcM8Z5=XFlxp8GYfMfxCC1B=f51k31yPgKjd9Dze(r( zuiW-|{t#CZRnGs|!cE-FE!@g&+|C``$z9wS`t@giqUQ@va+ELmn(z6BkNKPv;aWd4 zk>N03@jf5$As_Jx$M`h=w9pQnoZ>s)<6DmK8OJ%m^|}7f@#p&A!HI#hF5#R@y2#PR z{_i7CAN=1Zyz{~TeRwT+>kIzRL6>r6{htN@H`UT;s!Vnn{y!7=+u0GA*077++`wM; zaWD7rZp?py*LZ{%d6_qPg(rB9=fl0R|MLJZ@i33_7?1NLPx16De-Cf)IuG$G5ArO} za1VF0;Qu-PQdJ70CF`F<3*++o7x@>y|4Jju=s&Oi`GL21n;%*5f9@}*f5;mAZ*l#@ z3YF-epT&Q#|GfWmx|Ak2S}}jz9|U9nUznd+Hqfz}wQOcx=!Z(q`agv=OfboaWQxi; l{?8^h(z2e06)f?8hW=lq{ulMXV*f8y|MT@X>81Yv`~zCTk&^%b literal 0 HcmV?d00001 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 index 0000000..d73372c --- /dev/null +++ b/meta-openvuplus/recipes-base/dreambox-keymaps/dreambox-keymaps/eng.info @@ -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 index 0000000000000000000000000000000000000000..15a722f164e16e74b016786d85e82a94ecdda36f GIT binary patch literal 2823 zcmd^>`F9jW6ov1rn(DqaZ}v5-D4>7>vM&-41qIwt7C{M00$~e*Kp>C=n17wBo{R)= z5;-1zN>^8%Is_7JdpLqExRwIrx~R|ey3XsQ z-q#sy$4-2i!WL4Ck4>7bxe+Tlagsz{gAPw4OZt^T4vV+_ae^$PyLkv&&Q%2JW4)TD0e0d;l$WBvFIdi+Lv{3ie3_~R?*G6YOd}Yt{L<6ypDn QLBIXq@B3#8YyJPc0_5grSpWb4 literal 0 HcmV?d00001 diff --git a/meta-openvuplus/recipes-base/fakelocale/fakelocale.bb b/meta-openvuplus/recipes-base/fakelocale/fakelocale.bb new file mode 100644 index 0000000..aa50ca6 --- /dev/null +++ b/meta-openvuplus/recipes-base/fakelocale/fakelocale.bb @@ -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 index 0000000..b66b1eb --- /dev/null +++ b/meta-openvuplus/recipes-base/fakelocale/files/locale.alias @@ -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 index 0000000..429c37f --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg-collateral.bbappend @@ -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 index 0000000..e041eb7 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg-collateral/dest @@ -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 index 0000000..4553124 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0001-Fixed-opkg-losing-auto_installed-flag-on-upgrading.patch @@ -0,0 +1,32 @@ +Upstream-Status: Backport + +From 319d02609992273e887242ed9788db68d3310b6c Mon Sep 17 00:00:00 2001 +From: "pixdamix@gmail.com" + +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 + +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 index 0000000..9e122de --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0002-Don-t-mark-Conflicts-as-Depends.patch @@ -0,0 +1,29 @@ +From 8c00c6be3723a0dcf05a10b5aba8c1c3b1fe4cf7 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 +--- + 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 index 0000000..cfb7268 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0003-Statically-link-libopkg-and-libbb.patch @@ -0,0 +1,107 @@ +From 698fdfccb2b2855fbe73ecad159b7987b49ddded Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 +--- + 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 index 0000000..c9b9d6b --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0004-Makefile.am-remove-g-and-O-compiler-flags.patch @@ -0,0 +1,50 @@ +From ca86fc9ad82713e17cd69e92ce2033631fa73675 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 +--- + 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 index 0000000..1820e52 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0005-pkg_depends-remove-unused-variables-to-fix-compiler-.patch @@ -0,0 +1,48 @@ +From 4a5bc6cbce81497442f79ded5c78389024df0e60 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 +--- + 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 index 0000000..89934f2 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0006-pkg_hash_fetch_conflicts-fix-possible-segfaults.patch @@ -0,0 +1,34 @@ +From e2b289330280e9f9fb5dd2cc10c736ca06d273f4 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 +--- + 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 index 0000000..575c1e1 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0007-pkg_hash_fetch_conflicts-move-iteration-over-conflic.patch @@ -0,0 +1,94 @@ +From b925a520a63fb291675f707e602d04295236c85b Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 +--- + 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 index 0000000..e958289 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0008-pkg_hash_fetch_conflicts-take-into-account-conflicts.patch @@ -0,0 +1,49 @@ +From 53de52b533ee30676d051ee941cfc0a517e9190e Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 +--- + 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 index 0000000..bf61aef --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0009-Revert-Add-Recommended-packages-to-the-depended_upon.patch @@ -0,0 +1,100 @@ +From 70d10c10288da23755055c881bea01b61a2d4df7 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +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 index 0000000..3bc2e5d --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg/0010-opkg_remove-auto-delete-.pyo-files.patch @@ -0,0 +1,33 @@ +From 719cc4ab765c008bd7e4f2d085692657c33d171e Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +Date: Mon, 21 May 2012 14:05:37 +0200 +Subject: [PATCH 10/10] opkg_remove: auto-delete .pyo files + +Signed-off-by: Andreas Oberritter +--- + 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 index 0000000..e5a54e4 --- /dev/null +++ b/meta-openvuplus/recipes-base/opkg/opkg_svn.bbappend @@ -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 index 0000000..25c096a --- /dev/null +++ b/meta-openvuplus/recipes-base/vuplus-compat/vuplus-compat_1.0.bb @@ -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}" -- 2.7.4