Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-27965

mariadb-10.7 missing dependency on libfmt

Details

    Description

      Per ba7287df61b6efa7278b343f12bd745547f43aea libfmt needs to be >=7.0

      In https://github.com/MariaDB/mariadb.org-tools/blob/master/buildbot.mariadb.org/ci_build_images/debian.Dockerfile

      remove from focal/bionic

      and buster

      Attachments

        Activity

          Do you want this to be added to Debian control file or fixed on Buildbot?

          illuusio Tuukka Pasanen added a comment - Do you want this to be added to Debian control file or fixed on Buildbot?

          Libfmt is added to debian/control and it builds on Salsa-CI

          illuusio Tuukka Pasanen added a comment - Libfmt is added to debian/control and it builds on Salsa-CI
          danblack Daniel Black added a comment -

          serg is it too late to change the debian 10.7 dependency to include libftmt >= 7.0 since it was statically compiling it anyway? For those that don't have that version, I guess we'll leave WITH_LIBFMT=auto to pull it down.

          If is too late, we'll just change the autobake.sh to specify -DWITH_LIBFMT=bundled during the 10.7 build and add the dependency to 10.8+ per PR.

          danblack Daniel Black added a comment - serg is it too late to change the debian 10.7 dependency to include libftmt >= 7.0 since it was statically compiling it anyway? For those that don't have that version, I guess we'll leave WITH_LIBFMT=auto to pull it down. If is too late, we'll just change the autobake.sh to specify -DWITH_LIBFMT=bundled during the 10.7 build and add the dependency to 10.8+ per PR.

          what are you trying to fix? unused build dependency? How would -DWITH_LIBFMT=bundled fix it?

          serg Sergei Golubchik added a comment - what are you trying to fix? unused build dependency? How would -DWITH_LIBFMT=bundled fix it?
          danblack Daniel Black added a comment -
          • Using the distro provided libfmt version when it is there and suitable.
          • Making the debian/control ready for when downstream picks it up without them complaining of a QA violation bundling packages that are distro included.

          Both are easy to do 10.8+ as they aren't GA yet. Doing it 10.7 would keep it consistent.

          10.7 is use as the bb reference for packages - that I'm doing a temporary hack around so that it doesn't results in instant failures on merging the dependency https://github.com/MariaDB/mariadb.org-tools/pull/122/commits/0b16a4a15dd59a3c1760a65faf5df3c57bb75453

          danblack Daniel Black added a comment - Using the distro provided libfmt version when it is there and suitable. Making the debian/control ready for when downstream picks it up without them complaining of a QA violation bundling packages that are distro included. Both are easy to do 10.8+ as they aren't GA yet. Doing it 10.7 would keep it consistent. 10.7 is use as the bb reference for packages - that I'm doing a temporary hack around so that it doesn't results in instant failures on merging the dependency https://github.com/MariaDB/mariadb.org-tools/pull/122/commits/0b16a4a15dd59a3c1760a65faf5df3c57bb75453
          danblack Daniel Black added a comment -

          With 13b97880bd8f6901225a1f8d6ff2eb6ba9303ceb, libfmt is now a debian dependency in 10.7+.

          If we want to hide the debian dependency in 10.7 and only include it later we could with the following. I don't think its worth it as we aren't adding new functionality, just using a different existing library to implement it.

          patch to fix 10.7 to bundled

          $ git diff
          diff --git a/debian/autobake-deb.sh b/debian/autobake-deb.sh
          index b6273fd94a0..396d3b7a9c2 100755
          --- a/debian/autobake-deb.sh
          +++ b/debian/autobake-deb.sh
          @@ -72,6 +72,7 @@ disable_libfmt()
           {
             # 0.7+ required
             sed '/libfmt-dev/d' -i debian/control
          +  sed 's/-DWITH_LIBFMT=auto/-DWITH_LIBFMT=bundled/' -i debian/rules
           }
           
           architecture=$(dpkg-architecture -q DEB_BUILD_ARCH)
          diff --git a/debian/rules b/debian/rules
          index 89fcb465fb7..9a979728d11 100755
          --- a/debian/rules
          +++ b/debian/rules
          @@ -103,6 +103,7 @@ endif
                      -DCONC_DEFAULT_CHARSET=utf8mb4 \
                      -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
                                  -DPLUGIN_COLUMNSTORE=NO \
          +           -DWITH_LIBFMT=auto \
                      -DIGNORE_AIO_CHECK=YES \
                      -DWITH_URING=yes \
                      -DDEB=$(DEB_VENDOR)
          

          danblack Daniel Black added a comment - With 13b97880bd8f6901225a1f8d6ff2eb6ba9303ceb, libfmt is now a debian dependency in 10.7+. If we want to hide the debian dependency in 10.7 and only include it later we could with the following. I don't think its worth it as we aren't adding new functionality, just using a different existing library to implement it. patch to fix 10.7 to bundled $ git diff diff --git a/debian/autobake-deb.sh b/debian/autobake-deb.sh index b6273fd94a0..396d3b7a9c2 100755 --- a/debian/autobake-deb.sh +++ b/debian/autobake-deb.sh @@ -72,6 +72,7 @@ disable_libfmt() { # 0.7+ required sed '/libfmt-dev/d' -i debian/control + sed 's/-DWITH_LIBFMT=auto/-DWITH_LIBFMT=bundled/' -i debian/rules } architecture=$(dpkg-architecture -q DEB_BUILD_ARCH) diff --git a/debian/rules b/debian/rules index 89fcb465fb7..9a979728d11 100755 --- a/debian/rules +++ b/debian/rules @@ -103,6 +103,7 @@ endif -DCONC_DEFAULT_CHARSET=utf8mb4 \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DPLUGIN_COLUMNSTORE=NO \ + -DWITH_LIBFMT=auto \ -DIGNORE_AIO_CHECK=YES \ -DWITH_URING=yes \ -DDEB=$(DEB_VENDOR)

          People

            illuusio Tuukka Pasanen
            danblack Daniel Black
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.