Manifest, multiple sources in one module

I was asked to merge three of my manifest modules under the main module.

No errors are present when the I used three modules.

When I merged them as below, I get:

HEAD is now at 56b6357a Update build instructions in readme
fatal: reference is not a tree: ba46d58d5d6417c2bf627d45436290dfb46da641
Error: module snis: Child process exited with code 128

Am I missing something obvious? It seems to be because I have two git sources. If I have one, and move it to it’s own module, it works.

  - name: snis
    buildsystem: simple
    build-commands: 
      - make install PREFIX=${FLATPAK_DEST} WITHVOICECHAT=yes
      - install -Dm755 snis.sh ${FLATPAK_DEST}/bin/snis.sh
      - mv ${FLATPAK_DEST}/bin/snis_launcher ${FLATPAK_DEST}/snis_launcher
      - install -Dm0644 logo.svg "${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg"
      - install -Dm0644 ${FLATPAK_ID}.metainfo.xml "${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml"
      - install -Dm0644 ${FLATPAK_ID}.desktop "${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop"
    sources:
      - type: git
        url: https://github.com/smcameron/space-nerds-in-space.git
        commit: 56b6357a493ea8c8ab01cff1ce472b76d7e71b6d
      - type: script
        dest-filename: snis.sh
        commands:
          - cd /app 
          - exec ./snis_launcher
      - type: git
        url: https://github.com/vpelss/snis_flatpak.git
        commit: ba46d58d5d6417c2bf627d45436290dfb46da641

To do this, I am guessing that I need to add one of the git sources as a submodule.

But as I don’t have access to the main source git, I am assuming I would need to add the projects main git as a submodule.

Is that correct?

That seems like a strange thing to do in my case. I just want to add external icon and desktop files to the flatpak.

Well, your second repository contains mostly data files (icon, desktop file, metainfo).
Normally, these data files should be part of the main repo, as these files are relevant on Linux no matter how the app is distributed and therefore should be managed upstream together with the app.

If this is for some reason not possible, the common way would be to place those files in the Flathub repository. Meaning you would add them directly to your PR and refer to them in the Flatpak manifest as a file source.

If for some reason you really, really need two git sources in one module (which, I assure you, you don’t), you could use the dest argument to clone one repository into a subfolder, which should resolve the issue AFAIK.

1 Like

Thanks.

I didn’t know I could put them in the flathub repository.

Everything I do seems like a ‘we don’t do that here’ land mine.

I know a lot of my submission refusals are 100% on me.

But a lot of change requests seems cosmetic.
I guess for standardization.

This topic was automatically closed after 4 days. New replies are no longer allowed.