PageSourceSearch

https://docs.flathub.org/assets/js/893ef44e.39bc7e86.js

js flathub.org collected 2026-09-24 08:38:05 UTC 7,978 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkflathub_docs_docusaurus=globalThis.webpackChunkflathub_docs_docusaurus||[]).push([[5537],{2750(e,n,t){t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"for-users/finding-sources","title":"Finding sources of a published Flatpak","description":"All applications and runtimes published on Flathub come with a manifest","source":"@site/docs/01-for-users/12-finding-sources.md","sourceDirName":"01-for-users","slug":"/for-users/finding-sources","permalink":"/docs/for-users/finding-sources","draft":false,"unlisted":false,"editUrl":"https://github.com/flathub/documentation/tree/main/docs/01-for-users/12-finding-sources.md","tags":[],"version":"current","sidebarPosition":12,"frontMatter":{"title":"Finding sources of a published Flatpak","sidebar_position":12},"sidebar":"mainSidebar","previous":{"title":"Slow connection to Flathub","permalink":"/docs/for-users/slow-connection"},"next":{"title":"For app authors","permalink":"/docs/category/for-app-authors"}}');var o=t(4848),a=t(8453);const i={title:"Finding sources of a published Flatpak",sidebar_position:12},r=void 0,d={},l=[];function c(e){const n={a:"a",code:"code",em:"em",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["All applications and runtimes published on Flathub come with a manifest\nlisting the sources they used. In most of the cases, that manifest can\nbe used to rebuild the Flatpak directly. See ",(0,o.jsx)(n.a,{href:"/docs/for-users/rebuilding",children:"Rebuilding a Flatpak from published sources"}),"\nfor how to do this."]}),"\n",(0,o.jsxs)(n.p,{children:["Application manifests are located in ",(0,o.jsx)(n.code,{children:"/app/manifest.json"})," while runtime\nmanifests can be found at ",(0,o.jsx)(n.code,{children:"/usr/manifest.json"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["Below is an ",(0,o.jsx)(n.em,{children:"incomplete"})," excerpt."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"flatpak install flathub org.kde.Platform//6.9\nflatpak run --command=cat org.kde.Platform//6.9 /usr/manifest.json\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n  "id" : "org.kde.Sdk",\n  "id-platform" : "org.kde.Platform",\n  "branch" : "6.9",\n  "runtime" : "org.freedesktop.Platform",\n  "runtime-version" : "24.08",\n  "runtime-commit" : "a993292d6ff150598dad4cd1f725aeee01a668b9e721b559ea1b6f6240174d58",\n  "sdk" : "org.freedesktop.Sdk",\n  "sdk-commit" : "880e38dedfd737008ddd0ebbbd0daaaed26b0d20011b0ce622d411a36446d607",\n  "build-options" : {\n    "env" : {\n      "CMAKE_BUILD_TYPE" : "RelWithDebInfo"\n    }\n  },\n  "modules" : [\n    {\n      "name" : "licence-extractor",\n      "buildsystem" : "simple",\n      "sources" : [\n        {\n          "commands" : [\n            "DESTINATION=/usr/share/licenses/org.kde.Platform/$(basename `pwd`)/",\n            "DESTINATION=${DESTINATION%-[0-9]*}",\n            "mkdir -p $DESTINATION",\n            "cp -v ${LICENSES:-LICENSES/*} $DESTINATION"\n          ],\n          "dest-filename" : "install-licenses.sh",\n          "type" : "script"\n        }\n      ],\n      "build-commands" : [\n        "install -m755 install-licenses.sh /usr/bin"\n      ]\n    },\n    {\n      "name" : "qt6-qtbase",\n      "buildsystem" : "cmake-ninja",\n      "config-opts" : [\n        "-DINSTALL_ARCHDATADIR=lib",\n        "-DQT_DISABLE_RPATH=ON",\n        "-DBUILD_WITH_PCH=FALSE",\n        "-DQT_FEATURE_openssl_linked=ON",\n        "-DQT_FEATURE_system_sqlite=ON"\n      ],\n      "sources" : [\n        {\n          "url" : "https://download.qt.io/official_releases/qt/6.9/6.9.3/submodules/qtbase-everywhere-src-6.9.3.tar.xz",\n          "sha256" : "c5a1a2f660356ec081febfa782998ae5ddbc5925117e64f50e4be9cd45b8dc6e",\n          "x-checker-data" : {\n            "type" : "anitya",\n            "project-id" : 7927,\n            "stable-only" : true,\n            "versions" : {\n              "<" : "6.10.0"\n            },\n            "url-template" : "https://download.qt.io/official_releases/qt/6.9/$version/submodules/qtbase-everywhere-src-$version.tar.xz"\n          },\n          "type" : "archive"\n        },\n        {\n          "paths" : [\n            "patch/qtbase-find_package-paths.patch"\n          ],\n          "type" : "patch"\n        },\n        {\n          "commands" : [\n            "install-licenses.sh"\n          ],\n          "type" : "shell"\n        }\n      ]\n    }\n  ]\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["The git commit from which the Flatpak originated is mentioned in\nthe OSTree commit subject. It can be found using the\n",(0,o.jsx)(n.code,{children:"flatpak info"})," or ",(0,o.jsx)(n.code,{children:"flatpak remote-info"})," commands."]}),"\n",(0,o.jsxs)(n.p,{children:["The repository with the source code might be listed in the Flatpak\nmetadata, the ",(0,o.jsx)(n.code,{children:"os-release"})," file or other well-known locations. For\napplications, you will find the repositories in the\n",(0,o.jsx)(n.a,{href:"https://github.com/flathub/",children:"Flathub organization"})," on Github. Runtimes\nare usually hosted in external repositories by their respective projects.\nThey may or may not be using different tooling in order to be built.\nPlease refer to each project for further details."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"flatpak info flathub org.kde.Platform//6.9\n"})}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"KDE Application Platform - Shared libraries used by KDE applications\n\n        ID: org.kde.Platform\n       Ref: runtime/org.kde.Platform/x86_64/6.9\n      Arch: x86_64\n    Branch: 6.9\n   License: GPL-2.0+\nCollection: org.flathub.Stable\n  Download: 393,0\xa0MB\n Installed: 1,0\xa0GB\n\n    Commit: 76413ad56178752c98dbda74682640d85a2b10b0d37f6f3680b29adf00265a6b\n    Parent: 12d7f68172eb7bf16d7853e37b17d035efbe82e8d42eb658a05483632bb7a27a\n   Subject: build of org.kde.Sdk, Wed Oct 15 12:57:40 PM UTC 2025, 094cc415694670dd34c808a48e500a73d1b177bb\n      Date: 2025-10-16 08:30:37 +0000\n"})}),"\n",(0,o.jsxs)(n.p,{children:["We can see that the subject mentions\n",(0,o.jsx)(n.code,{children:"094cc415694670dd34c808a48e500a73d1b177bb"})," which we can find ",(0,o.jsx)(n.a,{href:"https://invent.kde.org/packaging/flatpak-kde-runtime/-/commit/094cc415694670dd34c808a48e500a73d1b177bb",children:"here"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"The runtimes on Flathub originate from the following repositories:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"org.freedesktop.Platform"})," can be found in the ",(0,o.jsx)(n.a,{href:"https://gitlab.com/freedesktop-sdk/freedesktop-sdk/",children:"freedesktop-sdk"}),"\ngroup on gitlab.com."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"org.gnome.Platform"})," can be found in ",(0,o.jsx)(n.a,{href:"https://gitlab.gnome.org/GNOME/gnome-build-meta/",children:"gnome/gnome-build-meta"}),"\nrepository on the GNOME gitlab."]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.code,{children:"org.kde.Platform"})," can be found in ",(0,o.jsx)(n.a,{href:"https://invent.kde.org/packaging/flatpak-kde-runtime",children:"packaging/flatpak-kde-runtime"}),"\nrepository on the KDE gitlab."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453(e,n,t){t.d(n,{R:()=>i,x:()=>r});var s=t(6540);const o={},a=s.createContext(o);function i(e){const n=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.