Skip to content

"--show-manifest" and "--show-deps" don't canonicalize path written in manifests inside submodules #698

Description

@ryonakano

Checklist

  • I agree to follow the Code of Conduct that this project adheres to.
  • I have searched the issue tracker for a bug that matches the one I want to file, without success.

flatpak-builder version

1.4.2

Flatpak version

1.14.6

How to reproduce

  1. Run git clone --recurse-submodules https://github.com/flathub/io.github.ellie_commons.sequeler.git
  2. Run cd io.github.ellie_commons.sequeler
  3. Run flatpak-builder --show-deps io.github.ellie_commons.sequeler.yml
  4. Run flatpak-builder --show-manifest io.github.ellie_commons.sequeler.yml | jq '.modules[] | select(.name == "libgda") | .modules[] | select(.name == "intltool")'

Expected Behavior

  • In the above step 3, intltool-perl5.26-regex-fixes.patch is canonicalized, i.e. the path is converted to the absolute or relative path to the patch file in the submodule
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$ flatpak-builder --show-deps io.github.ellie_commons.sequeler.yml
/home/user/work/ellie-commons/io.github.ellie_commons.sequeler/shared-modules/intltool/intltool-0.51.json
/home/user/work/ellie-commons/io.github.ellie_commons.sequeler/shared-modules/intltool/intltool-perl5.26-regex-fixes.patch
0001-Explicit-parameters-in-function-declaration.patch
0002-Application-Force-elementary-stylesheet-to-prevent-b.patch
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$
  • In the above step 4, intltool-perl5.26-regex-fixes.patch is canonicalized, i.e. the path is converted to the absolute or relative path to the patch file in the submodule
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$ flatpak-builder --show-manifest io.github.ellie_commons.sequeler.yml | jq '.modules[] | select(.name == "libgda") | .modules[] | select(.name == "intltool")'
{
  "name": "intltool",
  "sources": [
    {
      "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz",
      "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd",
      "type": "archive"
    },
    {
      "path": "/home/user/work/ellie-commons/io.github.ellie_commons.sequeler/shared-modules/intltool/intltool-perl5.26-regex-fixes.patch",
      "type": "patch"
    }
  ],
  "cleanup": [
    "*"
  ]
}
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$

Actual Behavior

  • In the above step 3, intltool-perl5.26-regex-fixes.patch is not canonicalized, i.e. the path remains the relative path inside the submodule
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$ flatpak-builder --show-deps io.github.ellie_commons.sequeler.yml
/home/user/work/ellie-commons/io.github.ellie_commons.sequeler/shared-modules/intltool/intltool-0.51.json
intltool-perl5.26-regex-fixes.patch
0001-Explicit-parameters-in-function-declaration.patch
0002-Application-Force-elementary-stylesheet-to-prevent-b.patch
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$
  • In the above step 4, intltool-perl5.26-regex-fixes.patch is not canonicalized, i.e. the path remains the relative path inside the submodule
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$ flatpak-builder --show-manifest io.github.ellie_commons.sequeler.yml | jq '.modules[] | select(.name == "libgda") | .modules[] | select(.name == "intltool")'
{
  "name": "intltool",
  "sources": [
    {
      "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz",
      "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd",
      "type": "archive"
    },
    {
      "path": "intltool-perl5.26-regex-fixes.patch",
      "type": "patch"
    }
  ],
  "cleanup": [
    "*"
  ]
}
user@elementary:~/work/ellie-commons/io.github.ellie_commons.sequeler (master =)$

Additional Information

The repository I used in the reproduce steps uses intltool in the shared-modules.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions