> My plan for simplifying things while catering to various wishes is to
> * remove pike7.8-full
> * let pike7.8 Recommend all other packages. That way everything will
>   be installed if you run apt-get install pike7.8 unless you have
>   switched off automatic installation of recommended packages, but
>   it's still possible to opt out of individual packages.

I have made a small set of patches which I'd like to be included in pike
and debian packages in order to make the package emdebian (cross)
compilable. I've attached the patches, but as described below there are
still some caveats to them.

Patches according to http://wiki.debian.org/EmdebianMakefile
Patches are made against the current debian package (pike 7.8.352).

1) Patch to debian/rules.
This patch can be included as is. The patch makes it possible to use a
cross compiler for compiling pike.
(cross compiling in debian you can do using "pkg-build -a arm -uc -us)

2) Patch to src/configure.in
This patch can be included as is into pike, I think this was is a bug in
configure.in because it originally tries to use the newly build pike
instead of the pike installed on the host.

3) Patch to src/configure
I think this patch should ultimately be done in src/configure.in. But
I'm no M4 expert and haven't yet found which changes need to be made in
src/configure.in

4) Patch to src/modules/Mysql/configure
I think this patch was already included in src/modules/Mysql/configure.in.


Then there is the issue of bytecompiling. As I understand it pike can do
without byte-compiling. However the debian packaging copies the
byte-compiled files into the several packages. If byte-compiling fails
(because the newly build pike can't be used for byte-compiling) the
package manager fails to create a package.

I've only come up with one possible sollution to this. Which is, push
the byte-compiling of the code into a post-install script. This way the
byte-compiling can be done on the target machine. But maybe there is a
better sollution?
It is not allowed to have diff between the debian and the emdebian
packaging files.


Best regards,

Marc
--- src/configure.in	2009-09-22 20:37:45.000000000 +0000
+++ ../../pike1/configure.in	2010-05-04 09:44:55.000000000 +0000
@@ -541,7 +541,7 @@
   RUNTPIKE="USE_PIKE"
 else
   if test "x$cross_compiling" = "xyes"; then
-    RUNPIKE="DEFAULT_RUNPIKE"
+    RUNPIKE="USE_PIKE"
     RUNTPIKE="USE_PIKE"
   else
     RUNPIKE="DEFAULT_RUNPIKE"
--- src/configure	2009-09-22 20:38:19.000000000 +0000
+++ ../../pike1/configure	2010-05-19 10:04:59.835552074 +0000
@@ -106926,7 +106926,7 @@
       ;;
     esac
     if test "$cross_compiling" = yes; then
-  pike_cv_sys_dynamic_loading=no
+  pike_cv_sys_dynamic_loading=yes
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
--- debian/rules	2010-06-06 09:12:10.000000000 +0000
+++ ../../pike1/rules	2010-05-21 09:35:26.185552286 +0000
@@ -20,6 +20,16 @@
 CC=gcc
 endif
 
+export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+CFARGSEXTRA = --with-cdebug
+
+ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+export CC=$(DEB_HOST_GNU_TYPE)-gcc
+CFARGSEXTRA += --host=$(DEB_HOST_GNU_TYPE)
+endif
+
 ifeq (,$(DEB_BUILD_ARCH))
 DEB_BUILD_ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
 endif
@@ -31,7 +41,6 @@
 SSP_FLAGS=-fstack-protector
 endif
 
-CFARGSEXTRA = --with-cdebug
 
 ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
 CFARGSEXTRA += --without-copt
@@ -141,6 +150,7 @@
 build-arch: build-arch-stamp
 build-arch-stamp: $(DPATCH_STAMPFN)
 	dh_testdir
+	$(MAKE) force_autoconfig CONFIGUREARGS="$(CFARGS)"
 	$(MAKE) compile CONFIGUREARGS="$(CFARGS)"
 	touch build-arch-stamp
 
--- ../../pike1/Mysql_configure	2010-05-19 10:20:10.745552500 +0000
+++ src/modules/Mysql/configure	2009-09-22 20:38:35.000000000 +0000
@@ -7018,7 +7018,13 @@
 $as_echo "yes" >&6; }
 
       if test "$cross_compiling" = yes; then
-:
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
  • Deb... Magnus Holmgren, Millnet/Lysator/Debian/Mensa @ Pike developers forum
    • ... Marc Dirix
      • ... Magnus Holmgren, Millnet/Lysator/Debian/Mensa @ Pike developers forum
        • ... Martin Nilsson (Opera Mini - AFK!) @ Pike (-) developers forum
      • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
        • ... Martin Bähr
        • ... Magnus Holmgren, Millnet/Lysator/Debian/Mensa @ Pike developers forum
          • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
          • ... Magnus Holmgren, Millnet/Lysator/Debian/Mensa @ Pike developers forum
            • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
              • ... Magnus Holmgren, Millnet/Lysator/Debian/Mensa @ Pike developers forum
                • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum

Reply via email to