summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/dpkg
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/dpkg')
-rw-r--r--meta/recipes-devtools/dpkg/dpkg.inc40
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/autofoo.patch48
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch26
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/nochroot.patch18
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/noman.patch16
-rw-r--r--meta/recipes-devtools/dpkg/dpkg/noupdalt.patch16
-rw-r--r--meta/recipes-devtools/dpkg/dpkg_1.14.19.bb13
7 files changed, 177 insertions, 0 deletions
diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc
new file mode 100644
index 000000000..7a4a1a607
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg.inc
@@ -0,0 +1,40 @@
+DESCRIPTION = "Package maintenance system for Debian."
+LICENSE = "GPL"
+SECTION = "base"
+PR = "r7"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.gz \
+ file://ignore_extra_fields.patch;patch=1 \
+ file://noupdalt.patch;patch=1"
+
+DEPENDS = "zlib bzip2"
+DEPENDS_virtclass-native = "bzip2-native zlib-native virtual/update-alternatives-native gettext-native"
+RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives}"
+RDEPENDS_${PN}_virtclass-native = ""
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+PARALLEL_MAKE = ""
+
+inherit autotools gettext
+
+DPKG_INIT_POSITION = "98"
+DPKG_INIT_POSITION_slugos = "41"
+
+pkg_postinst_dpkg () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+ install -d $D/${sysconfdir}/rcS.d
+ # this happens at S98 where our good 'ole packages script used to run
+ echo -e "#!/bin/sh
+ dpkg --configure -a
+ rm -f /${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
+" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
+ chmod 0755 $D/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
+fi
+}
+
+do_configure () {
+ echo >> m4/compiler.m4
+ autotools_do_configure
+}
diff --git a/meta/recipes-devtools/dpkg/dpkg/autofoo.patch b/meta/recipes-devtools/dpkg/dpkg/autofoo.patch
new file mode 100644
index 000000000..691121e41
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/autofoo.patch
@@ -0,0 +1,48 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- dpkg-1.10.23/configure.in~autofoo
++++ dpkg-1.10.23/configure.in
+@@ -227,21 +227,36 @@
+ # OpenBSD passes AC_TRY_COMPILE for va_copy even though
+ # it doesn't seem to exist, which is odd. We need to use
+ # AC_TRY_RUN.
++#
++# If crosscompiling, use AC_TRY_COMPILE. -CL
+ AC_TRY_RUN([
+ #include <stdarg.h>
+ main(){
+ va_list v1,v2;
+ va_copy(v1, v2);
+ exit(0);}
+-], [AC_MSG_RESULT(yes)
+-AC_DEFINE(HAVE_VA_COPY,,[Whether the va_copy macro exists])],[AC_MSG_RESULT(no)
+-AC_MSG_CHECKING([for va_list assignment copy])
++], [dpkg_cv_va_copy=yes], [dpkg_cv_va_copy=no],
+ AC_TRY_COMPILE([
+ #include <stdarg.h>
++main(){
++va_list v1,v2;
++va_copy(v1, v2);
++exit(0);}
++], [dpkg_cv_va_copy=yes], [dpkg_vc_va_copy=no]))
++
++if test "$dpkg_cv_va_copy" = "yes"; then
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_VA_COPY,,[Whether the va_copy macro exists])
++else
++ AC_MSG_RESULT(no)
++ AC_MSG_CHECKING([for va_list assignment copy])
++ AC_TRY_COMPILE([
++#include <stdarg.h>
+ ],[
+ va_list v1,v2;
+ v1 = v2;
+-], AC_MSG_RESULT(yes),AC_MSG_ERROR(no))])
++], AC_MSG_RESULT(yes), AC_MSG_ERROR(no))
++fi
+
+ DPKG_C_GCC_ATTRIBUTE([,,],supported,[int x],[,,],ATTRIB,[Define if function attributes a la GCC 2.5 and higher are available.],
+ DPKG_C_GCC_ATTRIBUTE(noreturn,noreturn,[int x],noreturn,NORETURN,[Define if nonreturning functions a la GCC 2.5 and higher are available.])
diff --git a/meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch b/meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch
new file mode 100644
index 000000000..d09343c6e
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/ignore_extra_fields.patch
@@ -0,0 +1,26 @@
+ dpkg-deb/build.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- dpkg-1.14.19.orig/dpkg-deb/build.c
++++ dpkg-1.14.19/dpkg-deb/build.c
+@@ -241,18 +241,18 @@ void do_build(const char *const *argv) {
+ if (checkedinfo->priority == pri_other) {
+ fprintf(stderr, _("warning, `%s' contains user-defined Priority value `%s'\n"),
+ controlfile, checkedinfo->otherpriority);
+ warns++;
+ }
+- for (field= checkedinfo->available.arbs; field; field= field->next) {
++ /*for (field= checkedinfo->available.arbs; field; field= field->next) {
+ if (known_arbitrary_field(field))
+ continue;
+
+ fprintf(stderr, _("warning, `%s' contains user-defined field `%s'\n"),
+ controlfile, field->name);
+ warns++;
+- }
++ }*/
+ checkversion(checkedinfo->available.version.version,"(upstream) version",&errs);
+ checkversion(checkedinfo->available.version.revision,"Debian revision",&errs);
+ if (errs) ohshit(_("%d errors in control file"),errs);
+
+ if (subdir) {
diff --git a/meta/recipes-devtools/dpkg/dpkg/nochroot.patch b/meta/recipes-devtools/dpkg/dpkg/nochroot.patch
new file mode 100644
index 000000000..3a8beaebb
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/nochroot.patch
@@ -0,0 +1,18 @@
+---
+ src/help.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- dpkg-1.13.22.orig/src/help.c
++++ dpkg-1.13.22/src/help.c
+@@ -175,9 +175,11 @@ static const char* preexecscript(const c
+ */
+ size_t instdirl;
+
++#if 0
+ if (*instdir) {
+ if (chroot(instdir)) ohshite(_("failed to chroot to `%.250s'"),instdir);
+ }
++#endif
+ if (f_debug & dbg_scripts) {
+ fprintf(stderr,"D0%05o: fork/exec %s (",dbg_scripts,path);
+ while (*++argv) fprintf(stderr," %s",*argv);
diff --git a/meta/recipes-devtools/dpkg/dpkg/noman.patch b/meta/recipes-devtools/dpkg/dpkg/noman.patch
new file mode 100644
index 000000000..f5984fe14
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/noman.patch
@@ -0,0 +1,16 @@
+---
+ Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- dpkg-1.13.22.orig/Makefile.am
++++ dpkg-1.13.22/Makefile.am
+@@ -15,8 +15,7 @@ SUBDIRS = \
+ utils \
+ scripts \
+ po \
+- origins \
+- man
++ origins
+
+ ACLOCAL_AMFLAGS = -I m4
+
diff --git a/meta/recipes-devtools/dpkg/dpkg/noupdalt.patch b/meta/recipes-devtools/dpkg/dpkg/noupdalt.patch
new file mode 100644
index 000000000..023e99ae8
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg/noupdalt.patch
@@ -0,0 +1,16 @@
+---
+ scripts/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- dpkg-1.13.22.orig/scripts/Makefile.am
++++ dpkg-1.13.22/scripts/Makefile.am
+@@ -20,8 +20,7 @@ bin_SCRIPTS = \
+ sbin_SCRIPTS = \
+ cleanup-info \
+ dpkg-divert \
+- dpkg-statoverride \
+- update-alternatives
++ dpkg-statoverride
+
+ changelogdir = $(pkglibdir)/parsechangelog
+ changelog_SCRIPTS = \
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.14.19.bb b/meta/recipes-devtools/dpkg/dpkg_1.14.19.bb
new file mode 100644
index 000000000..1e54306c9
--- /dev/null
+++ b/meta/recipes-devtools/dpkg/dpkg_1.14.19.bb
@@ -0,0 +1,13 @@
+require dpkg.inc
+
+SRC_URI += "file://noman.patch;patch=1"
+
+EXTRA_OECONF = "--without-static-progs \
+ --without-dselect \
+ --with-start-stop-daemon \
+ --with-zlib \
+ --with-bz2lib \
+ --without-selinux \
+ --without-sgml-doc"
+
+BBCLASSEXTEND = "native"