Adapting FancyLibs & MinGW-Pkg from Debian 10 Buster to 11 Bullseye, MinGW-8 to MinGW-9

Last modified by christoph_lechleitner@iteg_at on 2022-01-07 09.18:45

Introduction

About every 2 years Debian introduces a new release.

At the time I'm writing this Debian Bullseye has been out as stable for over a month.

The following notes shall provide the order in which FancyLibs shall be adapted and released for a new Debian release and are based on Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8.

Adapting FancyLibs to new Debian Release

The steps per sub project are the same as described for "HelloWorld projects* in Adapting PBA to new Debian Release, with -o unix (before MinGW adaption) or -o "arch|unix|9" after MinGW adaption.

FancyLibs subproject rebuild order phase 1

We have dropped armhf support for now.

The recommended order for phase 1 (before MinGW adaptions) is:

Project (subdir)

Archs (-o parameter)

Remarks general

Status & Remarks buster/bullseye

Release with Bullseye

fancylog

arch



1.0.3-9

cute-headers

arch

Data only


1.6.1-12

fancylibs

arch


Added libstdc++-10-dev as build dependency variant

3.7.4-11

fancydb

-

Unix only. Removed Jessie.


0.7.0-2

fancydrawing

arch


Removed zlib1g-dbg dependency, it's not available in Bullseye

0.6.3-3

fancygpsdclient

unix



0.4.3-8

fancyhttpd

arch



0.8.1-1

fancylogd

unix



0.1.0-7

fancylogview

.

No more QT4 in Bullseye

-

-

fancypkcs11

unix


Does not build for Jessie, don't care.

0.4.1-2

fancypcsc

unix



0.2.5-6

fancymodbus

unix



0.2.4-4

fancysax

arch


Removed libxml2-dbg dependency, it's not available in Bullseye

0.6.1-11

fancyqt4

arch

No more QT4 in Bullseye

-

-

fancyqt4widgets

arch

No more QT4 in Bullseye

-

-

fancyqt5

arch



0.1.1-2

fancysane

unix



0.3.4-1

fancyqmi

unix

Debian unix & amd64 only


0.3.4-2

fancyssl-tools

unix



0.4.0-7

fancylaunch

arch



1.1.1-2

MinGW-Pkg rebuilds

Disclaimer: The MinGW-Pkg generation does NOT refer to the version of the Mingw-W64 upstream project, but is raised with every Debian generation and includes newer version of the cross-built 3rd-party libraries.

Order based on mingw 6 rebuild order

Project (mingw-pkg subdir pattern)

Dep.

Version MinGW-8 mingw-pkg (upstream)

Version MinGW-9 mingw-pkg (upstream)

Bullseye Status, mingw-pkg svn rev.

(osslsigncode)

-

-

-

ignored

(mingw-w64-binutils)


- (2.31.1-11+8.3)

- (2.35.2-2+8.11+b3)

provided by Debian now as binutils-mingw-w64-x86-64

(mingw-w64-libmysql)


- (6.1.11-1clazzespba2)

-

obsolete since mingw-6, empty now

(mingw-w64-libmariadb)


-

-

not required for now

mingw-w64-gcc-rt


8.3.0 (-6+21.3~deb10u1),
uses Debian's g++-mingw64-*

10.2.1 (10.2.1-6+24.2),
uses Debian's g++-mingw64-*

OK, 684

mingw-w64-zlib

mingw-w64-gcc-rt

1.2.11-2 (1.2.11)

1.2.11-4 (1.2.11)

In debian/rules moved content of build-indep into install-indep to avoid double build.

OK, 688

mingw-w64-openssl

mingw-w64-zlib

1.1.1c

1.1.1l-1 (1.1.1l)

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2

which triggers undefined reference to `__memcpy_chk'

In debian/rules moved content of build-indep into install-indep to avoid double build, and rebuild after zlib fix rg. missing .dll file.

OK, 689

mingw-w64-libpng

mingw-w64-zlib

1.6.37-1 (1.6.37)

1.6.37-2 (1.6.37, 1.7 still in beta)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 691

mingw-w64-libjpeg

mingw-w64-libpng

9c-1 (9c)

9d-1 (9d)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 693

mingw-w64-libtiff

mingw-w64-libjpeg

4.0.10

4.3.0-0 (4.3.0)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 694

mingw-w64-libmng

mingw-w64-libjpeg

2.0.3-3 (2.0.3)

2.0.3-5 (2.0.3)

In debian/rules moved content of build-indep into install-indep to avoid double build.

OK, 696

mingw-w64-bzip2

mingw-w64-gcc-rt

1.0.6-4 (1.0.6)

1.0.6-5 (1.0.6)

In debian/rules moved content of build-indep into install-indep to avoid double build.

OK. 697

mingw-w64-libboost

mingw-w64-bzip2

-

-

- (ignored)

mingw-w64-libiconv

mingw-w64-gcc-rt

1.16-1 (1.16)

1.16-2 (1.16)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 698

mingw-w64-libxml2

mingw-w64-libiconv

2.9.9-1

2.9.10-0 (2.9.10, no sources for 2.9.12)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 699

mingw-w64-gettext

mingw-w64-libxml2

0.20.1-1 (0.20.1)

0.21-0 (0.21)

0.20.2-0 (0.20.2)

In debian/rules moved content of build-indep into install-indep to avoid double build.

Disabled patches from buster/0.20.1.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

Removing *ruby* before autoconf (not sure if ok, ruby support was added 2020-04-27).

Halfway back to 0.20.2 to escape ruby support.

Was: OK, 702

mingw-w64-qt4-qmake
mingw-w64-qt4
mingw-w32-qt4-qmake
mingw-w32-qt4


4.8.7-1clazzespba0

-

- (dropped)

mingw-w64-qt5


-

5.15.2-0clazzespba1 (5.15.2)

OK, 704

mingw-w64-jni-headers


1.6.0-4clazzespba6

17.0.1-1 (17.0.1+12-1+deb11u2)

Using headers from OpenJDK-17 now.

OK, 700

FancyLibs subproject rebuild order phase 3

The recommended order for phase 2 (before MinGW adaptions) is:

Project (subdir)

Archs (-o parameter)


Version with MinGW-9 package for Bullseye

Remarks, Bullseye
Status, fancylibs svn rev.

fancylog

- (arch|9)


1.0.3-10

OK, 2147

cute-headers

- (arch|9)


1.6.1-13 (8_1.6.1)

OK, 2148

fancylibs

- (arch|9)


3.7.4-12

OK, 2150 (2154)

fancydrawing

- (arch|9)


0.6.3-3

OK, 2151

fancygpsdclient

- (unix|9)


0.4.3-9

OK, 2152

fancyhttpd

- (arch|9)


0.8.1-2

OK, 2156

fancylogd

- (unix|9)


0.1.0-7

OK, 2158

fancylogview

- (nsis directory)


- (no more QT4 in Bullseye)

-

fancypcsc

- (arch|9)


0.2.5-7

OK, 2160

fancysax

- (arch|9)


0.6.1-12

OK, 2161

fancyqt4
fancyqt4widgets

- (dropped)


-

- (dropped with Bullseye)

fancyqt5

arch


0.1.1-2

OK, TBR, 2164

fancyssl-tools

- (arch|9)


TBD
Was: 0.4.0-6

OK, 2162

fancylaunch

- (arch|9)


1.1.1-2

TBD

Obsolete subdirs

Project (subdir)

Remarks

base64

never even built for stretch

fancylogview,
fancyqt4*,
mingw-w*-qt4*

No more QT4 in Bullseye

fancyxmlsock

Looks lke old experimental code now in fancysock

gpsfake-runner

shell scripts only

jnix

never even built for stretch

mingw-w64-libboost

not in use

osslsigncode

not in use