Hi, Here is an updated set of patches.
I haven't tested with schroot on amd64, nor to boot a real alpha workstation - and I'm afraid it won't happen very soon. I hope it will help nevertheless ! Regards, JH Chatenet
diff -Naur a/aboot-1.0~pre20200212/debian/control b/aboot-1.0~pre20200212/debian/control --- a/aboot-1.0~pre20200212/debian/control 2020-03-07 12:12:15.000000000 +0100 +++ b/aboot-1.0~pre20200212/debian/control 2024-10-18 18:00:00.000000000 +0200 @@ -4,6 +4,7 @@ Priority: standard Maintainer: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> Standards-Version: 3.9.3 +Rules-Requires-Root: no Vcs-Browser: https://salsa.debian.org/debian/aboot Vcs-Git: https://salsa.debian.org/debian/aboot.git
diff -Naur a/aboot-1.0~pre20200212/debian/rules b/aboot-1.0~pre20200212/debian/rules --- a/aboot-1.0~pre20200212/debian/rules 2020-03-07 12:10:21.000000000 +0100 +++ b/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:02.000000000 +0200 @@ -51,6 +51,7 @@ $(MAKE) -C doc/man/de clean $(MAKE) -C doc/faq clean $(MAKE) -C srmbootfat clean + rm -f doc/man/de/*.de.[1,5,8] override_dh_auto_install: ifeq (alpha,$(DEB_HOST_GNU_CPU))
Description: 'dpkg-buildpackage -A' should not build package 'aboot-cross' aboot-cross was always built on non alpha architectures diff -Naur a/aboot-1.0~pre20200212/debian/rules b/aboot-1.0~pre20200212/debian/rules --- a/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:02.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:03.000000000 +0200 @@ -15,7 +15,7 @@ ifeq (alpha,$(DEB_HOST_GNU_CPU)) export DH_OPTIONS=-Naboot-cross else - export DH_OPTIONS=-paboot-cross +# export DH_OPTIONS=-paboot-cross endif ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) @@ -38,12 +38,14 @@ $(MAKE) -C doc/faq endif else +ifneq (,$(filter aboot-cross, $(shell dh_listpackages))) $(MAKE) -C tools $(TESTING) isomarkboot CC=$(CC) $(shell dpkg-buildflags --export=configure) $(MAKE) -C srmbootfat srmbootfat srmbootfat.1 CC=$(CC) $(shell dpkg-buildflags --export=configure) $(MAKE) -C doc/man $(MAKE) -C doc/man/de rename 's/([a-z]*).([1,5,8])/\1.de.\2/' doc/man/de/*.[1,5,8] endif +endif override_dh_auto_clean: $(MAKE) distclean @@ -67,9 +69,11 @@ rm -rf debian/aboot/usr/share/man/man1 endif else +ifneq (,$(filter aboot-cross, $(shell dh_listpackages))) install -m 755 tools/isomarkboot debian/aboot-cross/usr/bin install -m 755 srmbootfat/srmbootfat debian/aboot-cross/usr/bin endif +endif ifneq (,$(filter aboot-base, $(shell dh_listpackages))) install -m 644 bootlx debian/aboot-base/boot/bootlx install -m 644 net_aboot.nh debian/aboot-base/boot/
diff -Naur a/aboot-1.0~pre20200212/debian/rules b/aboot-1.0~pre20200212/debian/rules --- a/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:03.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:04.000000000 +0200 @@ -35,7 +35,6 @@ $(MAKE) -C srmbootfat all CC=$(CC) $(shell dpkg-buildflags --export=configure) ifneq (,$(filter aboot-base, $(shell dh_listpackages))) $(MAKE) $(TESTING) bootlx net_aboot.nh net_pad CC=$(CC) $(shell dpkg-buildflags --export=configure) - $(MAKE) -C doc/faq endif else ifneq (,$(filter aboot-cross, $(shell dh_listpackages))) @@ -46,6 +45,9 @@ rename 's/([a-z]*).([1,5,8])/\1.de.\2/' doc/man/de/*.[1,5,8] endif endif +ifneq (,$(filter aboot-base, $(shell dh_listpackages))) + $(MAKE) -C doc/faq +endif override_dh_auto_clean: $(MAKE) distclean
Description: cross-compilation support with gcc-alpha-linux-gnu The source package now depends on gcc-alpha-linux-gnu on arch !alpha . Three (possibly different) compilers are needed : 1. a native one to compile helpers which run during the build 2. one to generate Alpha code to build aboot-base (and possibly aboot) 3. one to generate $DEB_HOST_ARCH code to build aboot-cross debian/rules sets variables for each. diff -Naur a/aboot-1.0~pre20200212/debian/control b/aboot-1.0~pre20200212/debian/control --- a/aboot-1.0~pre20200212/debian/control 2020-03-07 12:12:15.000000000 +0100 +++ b/aboot-1.0~pre20200212/debian/control 2024-10-18 20:00:05.000000000 +0200 @@ -1,5 +1,6 @@ Source: aboot Build-Depends: debhelper (>= 9), docbook-utils, libext2fs-dev [alpha], rename +Build-Depends-Indep: gcc-alpha-linux-gnu [!alpha], libc6.1-dev-alpha-cross [!alpha] Section: admin Priority: standard Maintainer: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> diff -Naur a/aboot-1.0~pre20200212/debian/rules b/aboot-1.0~pre20200212/debian/rules --- a/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:04.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:05.000000000 +0200 @@ -1,15 +1,46 @@ #!/usr/bin/make -f +-include /usr/share/dpkg/buildtools.mk + DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) export DEB_CPPFLAGS_MAINT_APPEND = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 export DEB_CFLAGS_MAINT_APPEND = -Wall -CC ?= gcc -ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) - CC = $(DEB_HOST_GNU_TYPE)-$(CC) +# CC to compile aboot-cross - already set by buildtools.mk if present +ifeq (,$(CC_FOR_BUILD)) +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) # We are cross-compiling + CC = $(DEB_HOST_GNU_TYPE)-gcc +else + CC ?= gcc +endif +endif + +# CC_ALPHA to compile aboot-base and aboot +ifeq (alpha-linux-gnu,$(DEB_BUILD_GNU_TYPE)) +ifneq (,$(CC_FOR_BUILD)) + CC_ALPHA ?= $(CC_FOR_BUILD) + LD_ALPHA ?= $(LD_FOR_BUILD) + STRIP_ALPHA ?= $(STRIP_FOR_BUILD) +else + CC_ALPHA ?= gcc + LD_ALPHA ?= ld + STRIP_ALPHA ?= strip +endif +else + CC_ALPHA ?= alpha-linux-gnu-gcc + LD_ALPHA ?= alpha-linux-gnu-ld + STRIP_ALPHA ?= alpha-linux-gnu-strip +endif + +# CC_NATIVE to compile helpers which run during the build +ifneq (,$(CC_FOR_BUILD)) + CC_NATIVE ?= $(CC_FOR_BUILD) +else + CC_NATIVE ?= gcc endif ifeq (alpha,$(DEB_HOST_GNU_CPU))
diff -Naur a/aboot-1.0~pre20200212/debian/control b/aboot-1.0~pre20200212/debian/control --- a/aboot-1.0~pre20200212/debian/control 2024-10-18 20:00:05.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/control 2024-10-18 20:00:06.000000000 +0200 @@ -1,6 +1,6 @@ Source: aboot Build-Depends: debhelper (>= 9), docbook-utils, libext2fs-dev [alpha], rename -Build-Depends-Indep: gcc-alpha-linux-gnu [!alpha], libc6.1-dev-alpha-cross [!alpha] +Build-Depends-Indep: gcc-alpha-linux-gnu [!alpha], libc6.1-dev-alpha-cross [!alpha], libext2fs-dev Section: admin Priority: standard Maintainer: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de>
Description : fix for a conflict in 'long' type definitions. _u64 means long on alpha, and long long on amd64 [1]. A mismatch may occur when cross-compiling for alpha on amd64. . Include <linux/types.h> early, so ext2fs/ext2_fs.h do not define these types according to the build architecture (instead of the host architecture). . [1] : https://wiki.debian.org/ArchitectureSpecificsMemo and /usr/include/alpha-linux-gnu/asm/types.h diff -Naur a/aboot-1.0~pre20200212/fs/ext2.c b/aboot-1.0~pre20200212/fs/ext2.c --- a/aboot-1.0~pre20200212/fs/ext2.c 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/fs/ext2.c 2024-10-18 20:00:07.000000000 +0200 @@ -6,6 +6,7 @@ * This file has been ported from the DEC 32-bit Linux version * by David Mosberger (dav...@cs.arizona.edu). */ +#include <linux/types.h> #include <sys/stat.h> #include <ext2fs/ext2_fs.h>
Description: remove tentative definitions GCC default changed from -fcommon to -fno-common (see GCC bugzilla #85678) Multiple definitions of variables or structures result in a fatal error at link stage. diff -Naur a/aboot-1.0~pre20200212/include/bootfs.h b/aboot-1.0~pre20200212/include/bootfs.h --- a/aboot-1.0~pre20200212/include/bootfs.h 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/include/bootfs.h 2024-10-18 20:00:08.000000000 +0200 @@ -19,6 +19,7 @@ mix it with other I/O or you will die horribly */ const char * (*readdir)(int fd, int rewind); int (*fstat)(int fd, struct stat* buf); -} ext2fs; +}; +extern struct bootfs ext2fs; #endif /* boot_fs_h */ diff -Naur a/aboot-1.0~pre20200212/include/utils.h b/aboot-1.0~pre20200212/include/utils.h --- a/aboot-1.0~pre20200212/include/utils.h 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/include/utils.h 2024-10-18 20:00:08.000000000 +0200 @@ -19,6 +19,6 @@ int check_memory(unsigned long, unsigned long); unsigned long memory_end(void); -unsigned long free_mem_ptr; +extern unsigned long free_mem_ptr; #endif /* utils_h */ diff -Naur a/aboot-1.0~pre20200212/zip/gzip.h b/aboot-1.0~pre20200212/zip/gzip.h --- a/aboot-1.0~pre20200212/zip/gzip.h 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/zip/gzip.h 2024-10-18 20:00:08.000000000 +0200 @@ -31,8 +31,8 @@ #define WSIZE 0x8000 /* window size--must be a power of two, and */ /* at least 32K for zip's deflate method */ -unsigned char *inbuf; /* input buffer */ -unsigned char *window; /* sliding window and suffix table (unlzw) */ +extern unsigned char *inbuf; /* input buffer */ +extern unsigned char *window; /* sliding window and suffix table (unlzw) */ extern unsigned insize; /* valid bytes in inbuf */ extern unsigned inptr; /* index of next byte to be processed in inbuf */
Description: allow for a STRIP variable Cross compiling makes use of a non native strip binary. diff -Naur a/aboot-1.0~pre20200212/Makefile b/aboot-1.0~pre20200212/Makefile --- a/aboot-1.0~pre20200212/Makefile 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/Makefile 2024-10-18 20:00:09.000000000 +0200 @@ -8,6 +8,9 @@ # Copyright (c) 1995, 1996 by David Mosberger (dav...@cs.arizona.edu) # +# strip is non native when cross-compiling +STRIP ?= strip + # location of linux kernel sources (must be absolute path): KSRC = /usr/src/linux VMLINUX = $(KSRC)/vmlinux @@ -119,7 +122,7 @@ cat net_aboot.nh $(VMLINUXGZ) net_pad > $@ net_aboot.nh: net_aboot tools/objstrip - strip net_aboot + $(STRIP) net_aboot tools/objstrip -vb net_aboot $@ net_aboot: $(ABOOT_OBJS) $(ABOOT_OBJS) $(NET_OBJS) $(LIBS)
Description: native helpers for architectures !alpha Helpers are needed to build the alpha binaries. When cross compiling, these helpers run on the build host. It is not expected to succeed on 32 bit or big endian architectures (however, a cross compiler would be required to build aboot-base in the first place). diff -Naur a/aboot-1.0~pre20200212/Makefile b/aboot-1.0~pre20200212/Makefile --- a/aboot-1.0~pre20200212/Makefile 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/Makefile 2024-10-18 20:00:10.000000000 +0200 @@ -154,4 +154,8 @@ include/ksize.h: vmlinux.nh echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'` > $@ +.PHONY : b2c_native +b2c_native: + $(CC_NATIVE) -o b2c b2c.c + dep: diff -Naur a/aboot-1.0~pre20200212/tools/Makefile b/aboot-1.0~pre20200212/tools/Makefile --- a/aboot-1.0~pre20200212/tools/Makefile 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/tools/Makefile 2024-10-18 20:00:10.000000000 +0200 @@ -16,3 +16,8 @@ e2writeboot.o: e2lib.h e2lib.o: e2lib.h + +.PHONY : objstrip_native +objstrip_native: + $(CC_NATIVE) -o objstrip $(CFLAGS) objstrip.c +
Description: Fix the path of the a.out.h header It is a kernel header on alpha. libc6.1-dev-alpha-cross provides it on other architectures. diff -Naur a/aboot-1.0~pre20200212/tools/Makefile b/aboot-1.0~pre20200212/tools/Makefile --- a/aboot-1.0~pre20200212/tools/Makefile 2024-10-18 20:00:10.000000000 +0200 +++ b/aboot-1.0~pre20200212/tools/Makefile 2024-10-18 20:00:11.000000000 +0200 @@ -19,5 +19,5 @@ .PHONY : objstrip_native objstrip_native: - $(CC_NATIVE) -o objstrip $(CFLAGS) objstrip.c + $(CC_NATIVE) -o objstrip -DALPHA_AOUT_H $(CFLAGS) objstrip.c diff -Naur a/aboot-1.0~pre20200212/tools/objstrip.c b/aboot-1.0~pre20200212/tools/objstrip.c --- a/aboot-1.0~pre20200212/tools/objstrip.c 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/tools/objstrip.c 2024-10-18 20:00:11.000000000 +0200 @@ -22,7 +22,13 @@ #include <sys/stat.h> #include <sys/types.h> +#ifdef ALPHA_AOUT_H +/* We need the definition of struct exec on alpha * +* in order to compile on another architecture */ +#include "/usr/alpha-linux-gnu/include/a.out.h" +#else #include <linux/a.out.h> +#endif #include <linux/coff.h> #include <linux/param.h> #ifdef __ELF__
Description : fix for a 'long' type mismatch _u64 means long on alpha, and long long on amd64. This is the cause of a warning when cross-compiling on amd64. The argument of printf in objstrip.c is cast to a 'long' to silent the warning. diff -Naur a/aboot-1.0~pre20200212/tools/objstrip.c b/aboot-1.0~pre20200212/tools/objstrip.c --- a/aboot-1.0~pre20200212/tools/objstrip.c 2024-10-18 20:00:11.000000000 +0200 +++ b/aboot-1.0~pre20200212/tools/objstrip.c 2024-10-18 20:00:12.000000000 +0200 @@ -38,6 +38,12 @@ # define elf_check_arch(x) ((x)->e_machine == EM_ALPHA) #endif +#ifdef __amd64__ +#define LL_TO_L (long) +#else +#define LL_TO_L +#endif + /* bootfile size must be multiple of BLOCK_SIZE: */ #define BLOCK_SIZE 512 @@ -195,7 +201,7 @@ if (verbose) { fprintf(stderr, "%s: extracting %#016lx-%#016lx (at %lx)\n", prog_name, (long) elf_phdr->p_vaddr, - elf_phdr->p_vaddr + fil_size, offset); + LL_TO_L elf_phdr->p_vaddr + fil_size, offset); } } else #endif
Description: build aboot-base on non alpha architectures aboot-base is Arch: all. One may build aboot-base on amd64 with dpkg-buildpackage -A. diff -Naur a/aboot-1.0~pre20200212/debian/rules b/aboot-1.0~pre20200212/debian/rules --- a/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:05.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:13.000000000 +0200 @@ -64,9 +64,6 @@ $(MAKE) -C doc/man all $(MAKE) -C doc/man/de all $(MAKE) -C srmbootfat all CC=$(CC) $(shell dpkg-buildflags --export=configure) -ifneq (,$(filter aboot-base, $(shell dh_listpackages))) - $(MAKE) $(TESTING) bootlx net_aboot.nh net_pad CC=$(CC) $(shell dpkg-buildflags --export=configure) -endif else ifneq (,$(filter aboot-cross, $(shell dh_listpackages))) $(MAKE) -C tools $(TESTING) isomarkboot CC=$(CC) $(shell dpkg-buildflags --export=configure) @@ -77,6 +74,14 @@ endif endif ifneq (,$(filter aboot-base, $(shell dh_listpackages))) +ifneq (alpha-linux-gnu,$(DEB_BUILD_GNU_TYPE)) # We are cross-compiling +# objstrip is a helper which run on the build host to generate bootlx + $(MAKE) -C tools objstrip_native CC_NATIVE=$(CC_NATIVE) $(shell DEB_HOST_ARCH=$$DEB_BUILD_ARCH dpkg-buildflags --export=configure) +endif +ifneq (alpha-linux-gnu,$(DEB_HOST_GNU_TYPE)) # Clean leftover native objects + $(MAKE) -C lib clean +endif + $(MAKE) $(TESTING) bootlx net_aboot.nh net_pad CC=$(CC_ALPHA) LD=$(LD_ALPHA) STRIP=$(STRIP_ALPHA) $(shell DEB_HOST_ARCH=alpha dpkg-buildflags --export=configure) $(MAKE) -C doc/faq endif
Description : fix for a conflict in 'long' type definitions. _u64 means long on alpha, and long long on amd64 [1]. . Include <linux/types.h> early, so ext2fs/ext2_fs.h do not define these types according to the build architecture (instead of the host architecture). . [1] : https://wiki.debian.org/ArchitectureSpecificsMemo and /usr/include/alpha-linux-gnu/asm/types.h diff -Naur a/aboot-1.0~pre20200212/tools/e2writeboot.c b/aboot-1.0~pre20200212/tools/e2writeboot.c --- a/aboot-1.0~pre20200212/tools/e2writeboot.c 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/tools/e2writeboot.c 2024-10-18 20:00:14.000000000 +0200 @@ -19,6 +19,8 @@ #include <sys/stat.h> +#include <linux/types.h> + #include <e2lib.h> #include <ext2fs/ext2_fs.h>
Description : Add a missing stdlib.h in netabootwrap.c This is a fix for a compilation error of netabootwrap.c. 'exit' as a function is declared in header stdlib.h. diff -Naur a/aboot-1.0~pre20200212/netabootwrap.c b/aboot-1.0~pre20200212/netabootwrap.c --- a/aboot-1.0~pre20200212/netabootwrap.c 2020-02-15 04:11:54.000000000 +0100 +++ b/aboot-1.0~pre20200212/netabootwrap.c 2024-10-18 20:00:15.000000000 +0200 @@ -6,6 +6,7 @@ #include <string.h> #include <sys/stat.h> #include <unistd.h> +#include <stdlib.h> #include "netwrap.h" #include "bootloader.h"
Description : Add a 'cross' build profile When cross compiling, the path of libc6.1 (as shipped in libc6.1-dev-alpha-cross) is unknown to dh_shlibdeps. So, we give it a hint. . It helps to cross compile aboot-cross too. diff -Naur a/aboot-1.0~pre20200212/debian/rules b/aboot-1.0~pre20200212/debian/rules --- a/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:13.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:16.000000000 +0200 @@ -117,3 +117,8 @@ install -m 644 net_aboot.nh debian/aboot-base/boot/ install -m 644 net_pad debian/aboot-base/boot/ endif + +ifneq (,$(filter cross, $(DEB_BUILD_PROFILES))) +override_dh_shlibdeps: + dh_shlibdeps -l/usr/alpha-linux-gnu/lib -l/usr/$(DEB_HOST_GNU_TYPE)/lib +endif
Description : build depends on a virtual package when cross-compiling When cross compiling, build depends on the virtual package 'e2fslibs-dev' (which libext2fs-dev provides) to avoid an error due to a mismatch between the host and build architectures. diff -Naur a/aboot-1.0~pre20200212/debian/control b/aboot-1.0~pre20200212/debian/control --- a/aboot-1.0~pre20200212/debian/control 2024-10-18 20:00:06.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/control 2024-10-18 20:00:17.000000000 +0200 @@ -1,6 +1,6 @@ Source: aboot -Build-Depends: debhelper (>= 9), docbook-utils, libext2fs-dev [alpha], rename -Build-Depends-Indep: gcc-alpha-linux-gnu [!alpha], libc6.1-dev-alpha-cross [!alpha], libext2fs-dev +Build-Depends: debhelper (>= 9), docbook-utils, libext2fs-dev [alpha] <!cross>, rename, e2fslibs-dev <cross> +Build-Depends-Indep: gcc-alpha-linux-gnu [!alpha], libc6.1-dev-alpha-cross [!alpha], libext2fs-dev <!cross>, e2fslibs-dev <cross> Section: admin Priority: standard Maintainer: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de>
Description : preliminary support to cross build aboot To build aboot and aboot-base (and the source package) on amd64 (gcc-alpha-linux-gnu and libc6.1-dev-alpha-cross are installed) : dpkg-buildpackage --host-arch=alpha --build-profiles=cross -uc -us . To build aboot-cross for arm64 on amd64 (crossbuild-essential-arm64 is installed, and gcc-alpha-linux-gnu and libc6.1-dev-alpha-cross as well, even if they are not really useful in this case) : dpkg-buildpackage -B --host-arch=arm64 --build-profiles=cross -uc -us diff -Naur a/aboot-1.0~pre20200212/debian/rules b/aboot-1.0~pre20200212/debian/rules --- a/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:16.000000000 +0200 +++ b/aboot-1.0~pre20200212/debian/rules 2024-10-18 20:00:18.000000000 +0200 @@ -60,10 +60,15 @@ override_dh_auto_build: ifeq (alpha,$(DEB_HOST_GNU_CPU)) - $(MAKE) $(TESTING) all netabootwrap CC=$(CC) $(shell dpkg-buildflags --export=configure) +ifneq (alpha-linux-gnu,$(DEB_BUILD_GNU_TYPE)) # We are cross-compiling +# We compile two helpers. They are run on the build host to generate bootlx and netabootwrap + $(MAKE) -C tools objstrip_native CC_NATIVE=$(CC_NATIVE) $(shell DEB_HOST_ARCH=$$DEB_BUILD_ARCH dpkg-buildflags --export=configure) + $(MAKE) b2c_native CC_NATIVE=$(CC_NATIVE) $(shell DEB_HOST_ARCH=$$DEB_BUILD_ARCH dpkg-buildflags --export=configure) +endif + $(MAKE) $(TESTING) all netabootwrap CC=$(CC_ALPHA) LD=$(LD_ALPHA) STRIP=$(STRIP_ALPHA) $(shell DEB_HOST_ARCH=alpha dpkg-buildflags --export=configure) $(MAKE) -C doc/man all $(MAKE) -C doc/man/de all - $(MAKE) -C srmbootfat all CC=$(CC) $(shell dpkg-buildflags --export=configure) + $(MAKE) -C srmbootfat all CC=$(CC_ALPHA) LD=$(LD_ALPHA) STRIP=$(STRIP_ALPHA) $(shell DEB_HOST_ARCH=alpha dpkg-buildflags --export=configure) else ifneq (,$(filter aboot-cross, $(shell dh_listpackages))) $(MAKE) -C tools $(TESTING) isomarkboot CC=$(CC) $(shell dpkg-buildflags --export=configure)
Description: Add support of dpkg chrootless mode Allow for a variable 'DPKG_ROOT' See https://wiki.debian.org/Teams/Dpkg/Spec/InstallBootstrap diff -Naur a/aboot-1.0~pre20200212/debian/aboot.postinst b/aboot-1.0~pre20200212/debian/aboot.postinst --- a/aboot-1.0~pre20200212/debian/aboot.postinst 2020-03-07 11:33:09.000000000 +0100 +++ b/aboot-1.0~pre20200212/debian/aboot.postinst 2024-10-18 20:00:19.000000000 +0200 @@ -1,7 +1,7 @@ #!/bin/sh -e -if [ ! -e /etc/aboot.conf ]; then - cp -a /usr/share/aboot/aboot.conf /etc/ +if [ ! -e ${DPKG_ROOT}/etc/aboot.conf ]; then + cp -a ${DPKG_ROOT}/usr/share/aboot/aboot.conf ${DPKG_ROOT}/etc/ fi #DEBHELPER#