summaryrefslogtreecommitdiffstats
path: root/meta/packages/ipkg-utils
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/ipkg-utils')
-rw-r--r--meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch34
-rw-r--r--meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb20
-rw-r--r--meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch17
-rw-r--r--meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb16
-rw-r--r--meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb33
5 files changed, 120 insertions, 0 deletions
diff --git a/meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch b/meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch
new file mode 100644
index 0000000000..7f495f9f4c
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch
@@ -0,0 +1,34 @@
1--- ipkg-utils/ipkg-link.orig 2006-04-05 00:08:28.518992136 +0200
2+++ ipkg-utils/ipkg-link 2006-04-05 00:08:40.399186072 +0200
3@@ -58,6 +58,31 @@
4 `ln -s "$PREFIX$line" "$line"`
5 fi
6 fi
7+
8+ # The next function checks whether the _source_ file (ie: /media/card/something)
9+ # does actually exist. If it doesn't, it could by a library symlink (ie: libsomething.0.1 -> libsomething.0)
10+ # Since VFAT & friends do not support symlinks, these library links would not exist after installation
11+ # and trying to symlink them into the rootfs with ipkg-link results in unconnected symlinks in the rootfs.
12+ # So we use the real lib file in /media/card/whatever and create all needed symlinks in the rootfs
13+ # using the real file as source.
14+
15+ if [ ! -e "$PREFIX$line" ]; then
16+ if ( echo "$line" | grep -q "lib" ) ; then
17+ libsearchfile=$(echo $line | sed -e "s#[a-z0-9/.]*/##g")
18+ libfoundfiles=$(find $PREFIX -name "$libsearchfile*")
19+
20+ for liblinkfile in $libfoundfiles; do
21+ echo "Linking $line to $liblinkfile"
22+ # link will be pointing to nowhere
23+ if test -L $line; then
24+ rm -f $line
25+ fi
26+ ln -s $liblinkfile $line
27+ done
28+ else
29+ echo "WARNING: Source file [$PREFIX$line] is missing!"
30+ fi
31+ fi
32 done
33 }
34
diff --git a/meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb b/meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..35e5ba1086
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb
@@ -0,0 +1,20 @@
1SECTION = "base"
2DESCRIPTION = "Itsy Package Manager utilities link script"
3LICENSE = "GPL"
4CONFLICTS = "ipkg-utils"
5SRCDATE = "20050404"
6PR = "r4"
7
8SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \
9 file://link-vfat-libs.patch;patch=1"
10
11S = "${WORKDIR}/ipkg-utils"
12
13do_compile() {
14 :
15}
16
17do_install() {
18 install -d ${D}${bindir}
19 install -m 0755 ipkg-link ${D}${bindir}
20}
diff --git a/meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch b/meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch
new file mode 100644
index 0000000000..a9e6fc4d05
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch
@@ -0,0 +1,17 @@
1--- ../../../work/i686-linux/ipkg-utils-native-1.6+cvs20050404-r6/ipkg-utils/ipkg.py 2005-01-08 19:08:52.000000000 +0100
2+++ ipkg-utils/ipkg.py 2006-06-29 12:52:58.466446000 +0200
3@@ -150,11 +150,11 @@
4 stat = os.stat(fn)
5 self.size = stat[ST_SIZE]
6 self.filename = os.path.basename(fn)
7- ## sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,))
8+ sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,))
9 if self.isdeb:
10- control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - '*control'","r")
11+ control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - './control'","r")
12 else:
13- control = os.popen("tar xfzO "+fn+" '*control.tar.gz' | tar xfzO - '*control'","r")
14+ control = os.popen("tar xfzO "+fn+" 'control.tar.gz' | tar xfzO - './control'","r")
15 line = control.readline()
16 while 1:
17 if not line: break
diff --git a/meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb b/meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..ab8f4d63e0
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
@@ -0,0 +1,16 @@
1include ipkg-utils_${PV}.bb
2SRC_URI += "file://ipkg-utils-fix.patch;patch=1"
3
4RDEPENDS = ""
5PR = "r7"
6
7inherit native
8
9# Avoid circular dependencies from package_ipk.bbclass
10PACKAGES = ""
11
12do_stage() {
13 for i in ${INSTALL}; do
14 install -m 0755 $i ${STAGING_BINDIR}
15 done
16}
diff --git a/meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb b/meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..12ed042f15
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
@@ -0,0 +1,33 @@
1DESCRIPTION = "Itsy Package Manager utilities"
2SECTION = "base"
3PRIORITY = "optional"
4LICENSE = "GPL"
5CONFLICTS = "ipkg-link"
6RDEPENDS = "python"
7SRCDATE = "20050404"
8PR = "r11"
9
10SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils"
11
12S = "${WORKDIR}/ipkg-utils"
13
14INSTALL = "ipkg-build ipkg-deb-unbuild ipkg-unbuild ipkg-compare-versions ipkg-upload ipkg-make-index ipkg-link ipkg.py"
15
16do_compile() {
17 oe_runmake ipkg-compare-versions
18}
19
20do_install() {
21 install -d ${D}${bindir}
22 for i in ${INSTALL}
23 do
24 install -m 0755 $i ${D}${bindir}
25 done
26}
27
28#FIXME: ipkg-utils is not allowed to have packages or else a ipkg-native -> ipkg-utils -> ipkg-utils
29# recursive dependency is triggered. This has been fixed by installing the ipkg-link script in
30# a dedicated package.
31#PACKAGES_prepend = "ipkg-link "
32#FILES_ipkg-link = "${bindir}/ipkg-link"
33