Coder Social home page Coder Social logo

flatpak-builder-lint's Introduction

flatpak-builder-lint

flatpak-builder-lint is a linter for flatpak-builder manifests, and more widely, also Flatpak builds. It is primarily developed for Flathub, but can be useful for other Flatpak repositories.

Installation

The only supported ways to install and use it are Docker and Flatpak.

Docker

The latest build of flatpak-builder-linter can be used with Docker.

docker run --rm -it ghcr.io/flathub/flatpak-builder-lint:latest

You may need to pass the local data using --volume to check the chosen file or repo.

Flatpak

flatpak-builder-lint is part of the org.flatpak.Builder flatpak package available on Flathub. Set up Flatpak first, then install org.flatpak.Builder:

flatpak install flathub -y org.flatpak.Builder
flatpak run --command=flatpak-builder-lint org.flatpak.Builder --help

The flatpak package tracks the git commit currently used on the Flathub infrastructure.

Local environment

Installing flatpak-builder-lint locally with Poetry or pip is not recommended unless for development purposes. It depends on patches that are found in the org.flatpak.Builder flatpak package and on external tools.

git clone https://github.com/flathub/flatpak-builder-lint
cd flatpak-builder-lint
poetry install 
poetry run flatpak-builder-lint --help

Additional tools are required by subcommands and checks:

  • flatpak-builder for validating flatpak-builder manifests,
  • ostree for validating ostree repositories containing builds,
  • appstreamcli from org.flatpak.Builder for validating MetaInfo files,
  • desktop-file-validate to validate desktop files.

Usage

usage: flatpak-builder-lint [-h] [--version] [--exceptions] [--appid APPID] [--cwd] [--ref REF] {builddir,repo,manifest,appstream} path

A linter for Flatpak builds and flatpak-builder manifests

positional arguments:
  {builddir,repo,manifest,appstream}
                        type of artifact to lint
  path                  path to artifact

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --exceptions          skip allowed warnings or errors
  --appid APPID         override app ID
  --cwd                 override the path parameter with current working directory
  --ref REF             override the primary ref detection

If you consider the detected issues incorrect, please report it here: https://github.com/flathub/flatpak-builder-lint

Documentation

A list of errors and warnings and their explanations are available in the Flatpak builder lint page.

flatpak-builder-lint's People

Contributors

a6gibkm avatar barthalion avatar bbhtt avatar blt-r avatar chergert avatar cunidev avatar darkdragon-001 avatar eonfge avatar erick555 avatar gasinvein avatar georgesstavracas avatar hfiguiere avatar jakobdev avatar kbdharun avatar kicsyromy avatar kra-mo avatar leohearts avatar libre-menu-editor avatar liferooter avatar nokyan avatar pobega avatar razzeee avatar ryanabx avatar ryonakano avatar salanileo avatar schmiddiii avatar sophie-h avatar travier avatar xargonwan avatar zishan-rahman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

flatpak-builder-lint's Issues

module-{name}-cmake-non-release-build has too much false-positives

It doesn't treat MinSizeRel and random values as release builds. The latter is actively used to prevent falling back to a project-defined default CMAKE_BUILD_TYPE and don't have additional C(XX)FLAGS set by cmake. The right way is check whether the value is Debug, that's also how most cmake projects check to insert their own debug flags.

cmake-no-debuginfo is bogus warning

Right now linter checks for -DCMAKE_BUILD_TYPE=Release and warns about supposedly missing debuginfo. This is misleading since cmake inherits -g from default CFLAGS environment which means Release has same amount of debuginfo as RelWithDebInfo has.

The actual difference is in optimization level -O3 vs -O2 which is different matter.

Add basic appdata quality checks

We have new appdata quality guidelines now, some of which could be relatively easily checked in an automated way, including:

  • Icon fills the entire canvas (no transparent pixels)
  • Icon is a symbolic (i.e. all non-transparent pixels are the same color)
  • Summary ending with dot (".")
  • Name >20 characters
  • Summary >35 characters
  • No screenshot captions
  • Developer field is not empty

False positive finish-args-unnecessary-appid-own-name?

A test build of PR Update to LibreOffice 7.4.2 initiated earlier today failed at https://buildbot.flathub.org/#/builders/19/builds/19 with

flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions org.libreoffice.LibreOffice.json
 in dir /srv/buildbot/worker/build-x86_64-1/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions org.libreoffice.LibreOffice.json'
 using PTY: False
{
    "errors": [
        "finish-args-unnecessary-appid-own-name"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint
program finished with exit code 1

I assume the linter complains about the line https://github.com/flathub/org.libreoffice.LibreOffice/blob/ebf2dbae06f39e50be7d62e11eed6e8724a109c5/org.libreoffice.LibreOffice.json#L724

        "--own-name=org.libreoffice.LibreOfficeIpc0",

but it is unclear to me why it does that. (And removing that line from the manifest would break the resulting LibreOffice, it would no longer start.)

Don't use hyphens in python module names

While such modules are still importable by their string names with importlib, they aren't importable as normal modules with import statements. It's usually suggested to use valid module names for all python project files except for entrypoint.
Suggestion: rename finish-args.py to finish_args.py

autotools-non-release-build ?

Can someone tell me what this means?

flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions com.dosbox_x.DOSBox-X.yaml
 in dir /srv/buildbot/worker/build-x86_64-5/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions com.dosbox_x.DOSBox-X.yaml'
 using PTY: False
{
    "errors": [
        "module-dosbox-x-autotools-non-release-build"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint
program finished with exit code 1
elapsedTime=1.308365

flathub/com.dosbox_x.DOSBox-X#10

Filter or reject AppStream metadata with invalid icons

cc.nift.nsm currently has AppStream metadata with:

 <icon height="128" width="128">$APPID.png</icon> 
 <icon height="64" width="64">$APPID.png</icon> 

(flathub/cc.nift.nsm#3)

This seems wrong in a couple of ways: libappstream warns on reading this (although apparently appstream-glib considers it to be perfectly valid?), and apps probably also shouldn't be allowed to specify an icon name that is outside their namespace.

The maintainer of libappstream says this is something that Flatpak and/or Flathub should be preventing:

There seems to be something wrong with Flatpak's or Flathub's
AppStream generator (even if the input is bad, the output of the
server shouldn't be bad too!)

(But I don't think validating AppStream is really Flatpak's or flatpak-builder's job, and it seems more appropriate for this to be something that Flathub is responsible for.)

finish-args-unnecessary-xdg-data-access

My app (LibreMines) needs access to the directory ~/.local/share/libremines so it can save scores, user configs and load custom minefield themes.

For that, I used the finish-arg: "--filesystem=xdg-data/libremines:create",.

For some reason, the build is failing on the part of check manifest, as shown here.

flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions io.github.Bollos00.LibreMines.json
 in dir /srv/buildbot/worker/build-x86_64-4/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions io.github.Bollos00.LibreMines.json'
 using PTY: False
{
    "errors": [
        "finish-args-unnecessary-xdg-data-access"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint
program finished with exit code 1
elapsedTime=0.588067

I do not understand the issue, should this file be changed like this?

Build suddenly fails with jsonschema-validation-error

I'm the maintainer of eu.betterbird.Betterbird and noticed that builds started to fail today because of the following error:

flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions eu.betterbird.Betterbird.json
 in dir /srv/buildbot/worker/build-x86_64-4/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions eu.betterbird.Betterbird.json'
 using PTY: False
{
    "errors": [
        "jsonschema-validation-error"
    ],
    "jsonschema": [
        "{'dest': 'cargo/vendor/atty-0.2.14', 'url': 'data:%7B%22package%22%3A%20%22d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8%22%2C%20%22files%22%3A%20%7B%7D%7D', 'dest-filename': '.cargo-checksum.json', 'type': 'file'} is not valid under any of the given schemas"
    ]
}

The .json that causes the error used to work fine and I have not changed it, so I figured the linter must have changed.

@Erick555 FYI You should see the same behavior for org.mozilla.Thunderbird because you are using the same cbindgen-sources.json file. Can you confirm that?

jsonschema error

I'm trying to update the runtime of the Karapulse package: flathub/org.karapulse.Karapulse#16

Build failed here: https://buildbot.flathub.org/#/builders/19/builds/1575

{
    "errors": [
        "jsonschema-validation-error"
    ],
    "warnings": [
        "module-karapulse-source-sha1-deprecated",
        "finish-args-contains-both-x11-and-wayland"
    ],
    "jsonschema": [
        "{'dest': 'cargo/vendor/addr2line-0.13.0', 'url': 'data:%7B%22package%22%3A%20%221b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072%22%2C%20%22files%22%3A%20%7B%7D%7D', 'dest-filename': '.cargo-checksum.json', 'type': 'file'} is not valid under any of the given schemas"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint

The exact same manifest used to work fine, see flathub/org.karapulse.Karapulse#15 , so I guess this may be a false positive?

Easier local installation

I'd like to run this tool locally so that I can attempt to fix its errors without constant pushes to Flathub git. I wonder if you could submit this tool to PyPI? That would make local installation easier than running it from a dev environment. Alternatively, for example flatpak-external-data-checker provides a flatpak-based installation, perhaps something like that would be an option here as well?

Thanks!

Investigate if `org.freedesktop.portal.*` permissions are needed

Afaiu, these are allowed by flatpak itself https://github.com/flatpak/flatpak/blob/f66b1ecb7420ba56bc57cada92a1ed01a5a330f9/common/flatpak-run-dbus.c#L290-L294 and there should be no reason to put a --talk-name to them in app manifest since that allows for wider access than what flatpak gives by default.

Around ~36 apps are using it based on a Github search

The most common one being org.freedesktop.portal.Fcitx which seems to have originated from a fcitx bug back in 2018 flatpak/flatpak#2031 and since been fixed on fcitx 4.2.9.7 (even Debian oldstable has newer fcitx than that https://packages.debian.org/search?keywords=fcitx&searchon=names&suite=all&section=all)

Another one popular one seems to be the background portal which seems to be not required at all to keep the app alive eg. flathub/org.signal.Signal#524

I think these should be error-ed by default in the linter

Error: arbitrary-autostart-access. Unable to publish an update

My app pre-loads itself in memory on startup.

This increases performance on some older devices.
How can I fix this issue?

App: https://github.com/mijorus/smile

[view all 16 lines](https://buildbot.flathub.org/#/builders/30/builds/227/steps/6/logs/stdio) 
flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions it.mijorus.smile.json
 in dir /srv/buildbot/worker/build-aarch64-3/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions it.mijorus.smile.json'
 using PTY: False
{
    "errors": [
        "finish-args-arbitrary-autostart-access",
        "finish-args-unnecessary-xdg-config-access"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint
program finished with exit code 1
elapsedTime=0.459918

Failing build checks for xdg-config access

Using --filesystem=xdg-config causes failing for build checks. Below is the error given from the flathub buildbot.

flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions org.cubocore.CoreAction.yml
 in dir /srv/buildbot/worker/build-x86_64-6/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions org.cubocore.CoreAction.yml'
 using PTY: False
{
    "errors": [
        "finish-args-arbitrary-xdg-config-access"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint
program finished with exit code 1
elapsedTime=0.638376

url is a zero length file

I maintain a flatpak in https://github.com/flathub/com.github.makhber.Makhber
the latest PR failed with:

uilddir/files/share/appdata/com.github.makhber.Makhber.appdata.xml: FAILED:
• file-invalid          : <screenshot> url is a zero length file [https://github.com/Makhber/makhber/raw/master/screenshots/Screen1.png]
• file-invalid          : <screenshot> url is a zero length file [https://github.com/Makhber/makhber/raw/master/screenshots/Screen2.png]

but they are not.

finish-args-broken-kde-tray-permission is incorrect

The finish-args-broken-kde-tray-permission forbids anything with org.kde.StatusNotifierItem at the beginning, however this isn't correct.

As you can see in knotification: https://github.com/KDE/knotifications/blob/7fb8c5b3130646845efb0483fc1cf3c7769c5830/src/kstatusnotifieritemdbus_p.cpp#L134

This is a unchanging format. In flatpak it will always be the same value for the same pid for the same item number.

Now this is very broken inside of flatpak but it is the correct permission to say --own-name=org.kde.StatusNotifierItem-2-1 because you know your values will always be the same. Fixing it means patching KDE libraries but that's a discussion for other people.

Failure with io.mpv.Mpv.yml

io.mpv.Mpv builds fine and runs fine on my debian system. flathub buildbot gives not so helpful message.

flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions io.mpv.Mpv.yml
 in dir /srv/buildbot/worker/build-x86_64-5/build (timeout 1200 secs)
 watching logfiles {}
 argv: b'flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions io.mpv.Mpv.yml'
 using PTY: False
{
    "errors": [
        "module-pipewire-jack-runtime-source-git-branch",
        "module-luajit-source-git-branch"
    ],
    "warnings": [
        "module-uchardet-cmake-no-debuginfo",
        "finish-args-contains-both-x11-and-wayland",
        "module-x265-buildsystem-is-plain-cmake",
        "module-x265-cmake-no-debuginfo",
        "module-x265-source-md5-deprecated"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint
program finished with exit code 1
elapsedTime=0.337740

I don't like flathub-json-eol-rebase-misses-new-id

On flathub/org.gnome.dfeet#19 I tried to add the following flathub.json to dfeet:

{
    "end-of-life": "This application is no longer maintained and is superseded by D-Spy.",
    "end-of-life-rebase": "org.gnome.dspy"
}

The linter rejected this because flathub-json-eol-rebase-misses-new-id. The check is:

https://github.com/flathub/flatpak-builder-lint/blob/fc76448d5539fb6a42f1a0b6f4a8982beef17c9e/flatpak_builder_lint/checks/flathub_json.py#L36-L38

So the end-of-life message has to include the literal app ID that is specified as end-of-life-rebase.

I don't really see why this is necessary. The app ID is present in a machine-readable form already so it's redundant. Is it not better to have the human-readable name of the app in the message?

jsonschema is not valid under any of the given schemas

https://buildbot.flathub.org/#/builders/25/builds/262

{
"errors": [
"jsonschema-validation-error"
],
"warnings": [
"module-allegro-buildsystem-is-plain-cmake"
],
"jsonschema": [
"{'dest': '.dub/packages', 'url': 'data:%5B%7B%22name%22%3A%20%22allegro%22%2C%20%22version%22%3A%20%224.0.4%2B5.2.0%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/allegro-4.0.4%2B5.2.0%22%7D%2C%20%7B%22name%22%3A%20%22bolts%22%2C%20%22version%22%3A%20%221.3.1%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/bolts-1.3.1%22%7D%2C%20%7B%22name%22%3A%20%22derelict-enet%22%2C%20%22version%22%3A%20%224.2.0%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/derelict-enet-4.2.0%22%7D%2C%20%7B%22name%22%3A%20%22derelict-util%22%2C%20%22version%22%3A%20%223.0.0-beta.2%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/derelict-util-3.0.0-beta.2%22%7D%2C%20%7B%22name%22%3A%20%22enumap%22%2C%20%22version%22%3A%20%220.4.2%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/enumap-0.4.2%22%7D%2C%20%7B%22name%22%3A%20%22optional%22%2C%20%22version%22%3A%20%221.3.0%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/optional-1.3.0%22%7D%2C%20%7B%22name%22%3A%20%22sdlang-d%22%2C%20%22version%22%3A%20%220.10.6%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/sdlang-d-0.10.6%22%7D%2C%20%7B%22name%22%3A%20%22taggedalgebraic%22%2C%20%22version%22%3A%20%220.11.22%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/taggedalgebraic-0.11.22%22%7D%2C%20%7B%22name%22%3A%20%22unit-threaded%22%2C%20%22version%22%3A%20%220.7.55%22%2C%20%22path%22%3A%20%22%40builddir%40/.flatpak-dub/unit-threaded-0.7.55%22%7D%5D', 'dest-filename': 'local-packages.json', 'type': 'file'} is not valid under any of the given schemas"
]
}

flathub/com.lixgame.Lix#1 builds locally just fine. I don't understand this convoluted error message.

flatpak-manifest.schema.json is missing 'secret-opts'

One of the errors that flatpak-builder-lint lists is:

    "jsonschema": [
        "'secret-opts' does not match any of the regexes: '^//.*', '^x-.*'"
    ]

However, secret-opts and secret-env are documented keys in the flatpak-manifest manfile:

       secret-opts (array of strings)
           This is an array of options that will be passed to configure, meant to be
           used to pass secrets through host environment variables. Put the option
           with an environment variables and will be resolved beforehand.
           '-DSECRET_ID=$CI_SECRET'

For context, they were added by this PR: flatpak/flatpak-builder#408

Exception to flathub-json-skip-appstream-check error application

Hi 👋

The Flatpak build in flathub/org.getzola.zola#4 is failing because it doesn't pass the "flathub-json-skip-appstream-check" check as we skip the Appstream metainfo check since we can't pass it by the nature of being a CLI application which we can't really have meaningful screenshots of. I asked about this in the Flatpak Matrix channel, and I was told to create an issue here to apply for an exception.

Ignore no debug info for build-time only modules ?

For modules which are only required during build time - usually the ones with cleanup: ['*'], I wonder if it's necessary to warn the users that they are building it without debug info since they are deleted totally from the exported result.

error: module-Elmer-source-git-no-commit-or-tag

I got this error.

{
    "errors": [
        "module-Elmer-source-git-no-commit-or-tag"
    ],
    "warnings": [
        "module-SCOTCH-buildsystem-is-plain-cmake",
        "module-TBB-buildsystem-is-plain-cmake",
        "module-VTK-9-buildsystem-is-plain-cmake",
        "module-Elmer-buildsystem-is-plain-cmake",
        "module-Trilinos-buildsystem-is-plain-cmake"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint

I have the tag and commit in it. But still error in Elmer module.

    sources:
      - type: git
        url: https://github.com/ElmerCSC/elmerfem.git
        tag: release-9.0
        commit: 9352634829dfde24439000571d64438d8c683264

flathub/flathub#2992

Documentation for errors?

I just received the following build error when trying to update FreeFileSync on Flathub:

{
    "errors": [
        "finish-args-incorrect-dbus-gvfs",
        "toplevel-cleanup-debug"
    ],
    "warnings": [
        "finish-args-contains-both-x11-and-wayland",
        "flathub-json-deprecated-i386-arch-included"
    ]
}
If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint

It's great that it contains a link for reporting false positives, but it doesn't contain an obvious link for documentation of those errors. The error IDs don't tell me what the problem is. Where can I find explanation of what they mean and how to best fix them?

Can you please create the documentation (if it doesn't exist already, I can't find it) and provide a link in that error message? A lint tool which is mandatory should at least try to help the packagers understand the problem. Thank you.

Failure when checking org.freedesktop.fwupd.json

I just get a failed build and:

{
    "errors": [
	"toplevel-cleanup-debug",
	"flathub-json-skip-appstream-check"
    ],
    "warnings": [
	"toplevel-unecessary-branch",
	"toplevel-command-is-path"
    ]
}

This isn't super helpful; I literally don't know what to do.

finish-args-contains-both-x11-and-fallback error is unnecessary

man flatpak build-finish says:

The fallback-x11 option makes the X11 socket available only if there is no Wayland socket. This option was introduced
in 0.11.3. To support older Flatpak releases, specify both x11 and fallback-x11. The fallback-x11 option takes
precedence when both are supported.

So there is no harm in doing so. I slightly resent having to do the busywork of deleting a harmless line in every random old app I maintain, particularly when the Flatpak documentation actively recommends the opposite. (Admittedly only to support pre-1.0 versions of Flatpak, i.e. pre-Aug 20, 2018.)

If one were feeling really keen this error could be made conditional on the app's minimum required Flatpak version…

The "test-commands" miss checking value's type

When flathub's CI tries to build com.hack_computer.Clubhouse, it shows test-commands of the manifest "com.hack_computer.Clubhouse.json" should be a string:

$ flatpak run --command=flatpak-builder-lint org.flatpak.Builder --exceptions com.hack_computer.Clubhouse.json
{
    "errors": [
        "jsonschema-validation-error"
    ],
    "jsonschema": [
        "['meson test --timeout-multiplier=10 --print-errorlogs'] is not of type 'string'"
    ]
}

If you think problems listed above are a false positive, please report it here:
  https://github.com/flathub/flatpak-builder-lint

However, according to test-commands' description: "Array of commands to run during the tests.", the value should be an array of strings.

finish-args-unnecessary-xdg-data-access is incorrect

The error means that the finish arg for xdg-data with a :create option at the end is not necessary since xdg dirs already exist. However, in this case I have an args that create subdirectories in the xdg-data dir.

--filesystem=xdg-data/backgrounds:create
--filesystem=xdg-data/gnome-background-properties:create

There should be no error for this as far as I understand.

What's the reason for the `appid-uses-code-hosting-domain` warning?

I understand, that a Homepage should be used as App ID instead of the code hosting platform, if one exists. But many Apps did not have one, so they just use the code hoster as App ID. Why did this throw a warning? It's the only valid App ID in this cases. flatpak-builder-linter should never throw a warning (even if it is a warning and not a error) on a valid App ID.

Ignoring no commit or tag when shallow clone is disabled for git source ?

In flathub/net.rpcs3.RPCS3, we build a custom upstream fork of LLVM containing some specific patches for the application. As part of the build process, they are expecting the https://github.com/intel/ittapi repo to be cloned locally and are doing a git checkout of the expected version on it. So we need it to be fully cloned as part of the build process.

I was wondering if disabling this rule for git source that are not shallow cloned should be the default, as it's made to handle this type of build. Another alternative would be to add an exception for this repository.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.