Package: filezilla
Version: 3.63.0-1+deb12u2
Severity: important
Tags: patch

Dear Maintainer,

Since https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034195 is solved,
filezilla can be compiled and now is available at Debian Bookworm 12.0 i386 32
bit.
Unfortunately it aborts with invalid opcode:

2023-10-10T00:17:58.773980+02:00 debian systemd[16997]: Started app-gnome-
filezilla-20364.scope - Application launched by gnome-shell.
2023-10-10T00:17:59.784902+02:00 debian kernel: [53450.659012] traps:
filezilla[20364] trap invalid opcode ip:b7df84c3 sp:bff7eaa0 error:0 in
libfzclient-private-3.63.0.so[b7d1a000+128000]

This is caused by compiling all source with -msse4.1.
This causes at some sources generation of instructions, that cannot be executed
by my current hardware and are not skipped by software tests.

In fact the compile problem is solved if only the Makefile at src/putty is
changed.

Therefore the latest change at debian/rules is deleted and replaced by
editing src/putty/Makefile at override_dh_auto_configure.
This is not nice, but at least it works.

The change can be removed again as soon as gcc release 14 is available.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109504
Modified debian/rules :

#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# ifeq ($(DEB_HOST_ARCH_CPU),i386)
# Workaround GCC bug on i386
# export DEB_CFLAGS_MAINT_APPEND = -msse4.1
# export DEB_CXXFLAGS_MAINT_APPEND = -msse4.1
# endif

%:
dh $@

override_dh_autoreconf:
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
patch -p1 < debian/patches/11_use-decimal-si-by-default.patch
touch debian/applied
endif
dh_autoreconf

override_dh_auto_clean:
dh_auto_clean
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
@if [ -e ./debian/applied ]; then \
patch -R -p1 < debian/patches/11_use-decimal-si-by-
default.patch ; \
rm ./debian/applied ; \
fi
endif

override_dh_dwz:
: Skipping dwz, compression not beneficial on filezilla binary

override_dh_auto_configure:
dh_auto_configure -- --disable-autoupdatecheck --disable-
manualupdatecheck --with-dbus
ifeq ($(DEB_HOST_ARCH_CPU),i386)
sed 's?-Wall?-Wall -msse4.1?' < src/putty/Makefile >
src/putty/Makefile.tmp
mv src/putty/Makefile.tmp src/putty/Makefile
# Workaround GCC bug on i386
# export DEB_CFLAGS_MAINT_APPEND = -msse4.1
# export DEB_CXXFLAGS_MAINT_APPEND = -msse4.1
endif

override_dh_auto_install:
dh_auto_install
# Remove .la files
find debian/tmp -name "*.la" -delete

override_dh_installchangelogs:
# Install upstream NEWS file as changelog
dh_installchangelogs -k NEWS

override_dh_link:
# Remove doc from filezilla binary package,
# a symlink to filezilla-common is created by dh_link
rm -rf debian/filezilla/usr/share/doc/
dh_link
gert@debian:/mnt/data/srcfilezilla5/filezilla-3.63.0/debian$ vi rules
gert@debian:/mnt/data/srcfilezilla5/filezilla-3.63.0/debian$ cat rules
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# ifeq ($(DEB_HOST_ARCH_CPU),i386)
# Workaround GCC bug on i386
# export DEB_CFLAGS_MAINT_APPEND = -msse4.1
# export DEB_CXXFLAGS_MAINT_APPEND = -msse4.1
# endif

%:
dh $@

override_dh_autoreconf:
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
patch -p1 < debian/patches/11_use-decimal-si-by-default.patch
touch debian/applied
endif
dh_autoreconf

override_dh_auto_clean:
dh_auto_clean
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
@if [ -e ./debian/applied ]; then \
patch -R -p1 < debian/patches/11_use-decimal-si-by-
default.patch ; \
rm ./debian/applied ; \
fi
endif

override_dh_dwz:
: Skipping dwz, compression not beneficial on filezilla binary

override_dh_auto_configure:
dh_auto_configure -- --disable-autoupdatecheck --disable-
manualupdatecheck --with-dbus
ifeq ($(DEB_HOST_ARCH_CPU),i386)
# Workaround GCC bug on i386
# Append -msse4.1 to CFLAGS and CXXFLAGS
sed 's?-Wall?-Wall -msse4.1?' < src/putty/Makefile >
src/putty/Makefile.tmp
mv src/putty/Makefile.tmp src/putty/Makefile
endif

override_dh_auto_install:
dh_auto_install
# Remove .la files
find debian/tmp -name "*.la" -delete

override_dh_installchangelogs:
# Install upstream NEWS file as changelog
dh_installchangelogs -k NEWS

override_dh_link:
# Remove doc from filezilla binary package,
# a symlink to filezilla-common is created by dh_link
rm -rf debian/filezilla/usr/share/doc/
dh_link



-- System Information:
Debian Release: 12.2
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 6.1.0-13-686-pae (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages filezilla depends on:
ii filezilla-common 3.63.0-1+deb12u2
ii libc6 2.36-9+deb12u3
ii libdbus-1-3 1.14.10-1~deb12u1
ii libfilezilla34 0.41.0-2
ii libgcc-s1 12.2.0-14
ii libgtk-3-0 3.24.38-2~deb12u1
ii libnettle8 3.8.1-2
ii libpugixml1v5 1.13-0.2
ii libsqlite3-0 3.40.1-2
ii libstdc++6 12.2.0-14
ii libwxbase3.2-1 3.2.2+dfsg-2
ii libwxgtk3.2-1 3.2.2+dfsg-2

Versions of packages filezilla recommends:
ii xdg-utils 1.1.3-4.1

filezilla suggests no packages.

-- no debconf information

Reply via email to