From 3212aeed59a82247dbb5f59ed46a8ae40ca4e38d Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 16 Apr 2024 20:18:25 +0900 Subject: [PATCH 1/4] .github/workflows/config.yml: add debian-unstable reproduce - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066307 - https://buildd.debian.org/status/fetch.php?pkg=euslisp&arch=armel&ver=9.29%2Bdfsg-1&stamp=1713198693&file=log --- .github/workflows/config.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index 47525910f..afd0f6886 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -92,6 +92,38 @@ jobs: echo "Testing branch $TRAVIS_BRANCH of $REPOSITORY_NAME on $QEMU_VOLUME" docker run --rm $QEMU_VOLUME -v $HOME:$HOME -e "QEMU=$QEMU" -e "TRAVIS_OS_NAME=$TRAVIS_OS_NAME" -e "CI_SOURCE_PATH=$CI_SOURCE_PATH" -e "HOME=$HOME" -e "MAKEFLAGS=$MAKEFLAGS" -e "DOCKER_IMAGE=$DOCKER_IMAGE" -t $DOCKER_IMAGE sh -c "cd $CI_SOURCE_PATH; ./.travis.sh" + debian-unstable: + strategy: + matrix: + include: + - DOCKER_IMAGE: amd64/debian:unstable-slim + ARCH: Linux64 + - DOCKER_IMAGE: arm32v7/debian:unstable-slim + ARCH: LinuxARM + - DOCKER_IMAGE: arm64v8/debian:unstable-slim + ARCH: LinuxARM + + runs-on: ubuntu-latest + timeout-minutes: 60 + + name: debian-unstale + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Run test + shell: bash + run: | + export DOCKER_IMAGE=${{matrix.DOCKER_IMAGE}} + export ARCH=${{matrix.ARCH}} + set -x + sudo apt update -qq + # Install the qemu packages + # This step will execute the registering scripts + if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then \ + sudo apt install -y -qq qemu binfmt-support qemu-user-static; \ + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes; \ + fi + docker run --rm -v $(pwd):/ws/euslisp -e "ARCH=$ARCH" -t "$DOCKER_IMAGE" bash -c "set -x; set -e; apt update -qq; apt install -y -qq make gcc libgl-dev libglu1-mesa-dev libjpeg-dev libpng-dev libpq-dev libx11-dev libxext-dev; ARCH=$ARCH EUSDIR=/ws/euslisp make -C /ws/euslisp/lisp/ -f Makefile.$ARCH eus0; CC='gcc -Werror' ARCHDIR=$ARCH EUSDIR=/ws/euslisp make -C /ws/euslisp/lisp/image/jpeg; exit 0" osx: runs-on: macos-latest From 30ae1d3f1a3225f8ebf6a445e1f367d47117ce87 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 16 Apr 2024 21:08:16 +0900 Subject: [PATCH 2/4] lisp/c/unixcall.c: use 'long int' for timezone --- lisp/c/unixcall.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisp/c/unixcall.c b/lisp/c/unixcall.c index 5bc0bba8c..a0d9e57e8 100644 --- a/lisp/c/unixcall.c +++ b/lisp/c/unixcall.c @@ -87,8 +87,12 @@ extern int errno; #include //extern char *tzname[2]; #if !Cygwin /* extern timezone */ +#if defined __USE_MISC || defined __USE_XOPEN +extern long int timezone; +#else extern time_t timezone, altzone; /*long*/ #endif +#endif extern int daylight; extern pointer eussigvec[NSIG]; From 388944645cf8589410640aeb225138289957fc0b Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Sun, 14 Apr 2024 22:16:53 +0900 Subject: [PATCH 3/4] =?UTF-8?q?fix=20euslisp:=20FTBFS:=20jpegmemcd.c:29:3:?= =?UTF-8?q?=20error:=20implicit=20declaration=20of=20function=20=E2=80=98j?= =?UTF-8?q?peg=5Fmemio=5Fdest=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066307 This is most likely caused by a change in dpkg 1.22.6, that enabled -Werror=implicit-function-declaration. For more information, see https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration --- lisp/image/jpeg/jpegmemcd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/image/jpeg/jpegmemcd.c b/lisp/image/jpeg/jpegmemcd.c index 786eadcaa..659ee82c3 100644 --- a/lisp/image/jpeg/jpegmemcd.c +++ b/lisp/image/jpeg/jpegmemcd.c @@ -11,8 +11,17 @@ #include #include "jpeglib.h" #include + +#if JPEG_LIB_VERSION >= 80 || defined(MEM_SRCDST_SUPPORTED) +#define jpeg_memio_dest(cinfo, outbuffer, outsize) \ + jpeg_mem_dest((j_compress_ptr)cinfo, (unsigned char **)outbuffer, (unsigned long *)outsize) + +#define jpeg_memio_src(cinfo, inbuffer, insize) \ + jpeg_mem_src((j_decompress_ptr)cinfo, (const unsigned char *)inbuffer, (unsigned long)insize) +#else GLOBAL(void) jpeg_memio_dest (j_compress_ptr cinfo, JOCTET *jpegimgbuf, long *size); GLOBAL(void) jpeg_memio_src (j_decompress_ptr cinfo, JOCTET *buf, long size); +#endif int JPEG_compress(JSAMPLE *image_buffer, long width, long height, From 5a63964b0e9ef2e4619114a1176d14c9e5f275c7 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Wed, 17 Apr 2024 08:11:43 +0900 Subject: [PATCH 4/4] skip fix-jpegmemcd-compile-error.patch, applied by https://github.com/euslisp/EusLisp/pull/509 --- .travis.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.sh b/.travis.sh index 22d97fe43..b5bf4bcf1 100755 --- a/.travis.sh +++ b/.travis.sh @@ -96,8 +96,8 @@ if [[ "$QEMU" != "" ]]; then git clone http://salsa.debian.org/science-team/euslisp /tmp/euslisp-dfsg for file in $(cat /tmp/euslisp-dfsg/debian/patches/series); do # skip patches already applied by https://github.com/euslisp/EusLisp/pull/482 - [[ $file =~ use-rtld-global-loadelf.patch|fix-arm-ldflags.patch|fix-library-not-linked-against-libc.patch|fix-manpage-has-bad-whatis-entry-on-man-pages.patch ]] && continue; - # skip patch already applied by https://github.com/euslisp/EusLisp/pull/441 + [[ $file =~ use-rtld-global-loadelf.patch|fix-arm-ldflags.patch|fix-library-not-linked-against-libc.patch|fix-manpage-has-bad-whatis-entry-on-man-pages.patch|fix-jpegmemcd-compile-error.patch ]] && continue; + # skip patch already applied by https://github.com/euslisp/EusLisp/pull/441, https://github.com/euslisp/EusLisp/pull/509 if [[ $file =~ fix-for-reprotest.patch ]]; then filterdiff -p1 -x 'lisp/image/jpeg/makefile' -x 'lisp/comp/comp.l' < /tmp/euslisp-dfsg/debian/patches/$file > /tmp/euslisp-dfsg/debian/patches/$file-fix file=$file-fix