{"guid":"df4ceb70-2c63-538c-b581-e60adc89f261","title":"Distributing Freedesktop SDK applications to Flatpak, Snapd and Docker","subtitle":null,"slug":"ASG2019-145-distributing-freedesktop-sdk-applications-to-flatpak-snapd-and-docker","link":"https://cfp.all-systems-go.io/ASG2019/talk/CF7FSX/","description":"BuildStream is used to build Freedesktop SDK for different deployment systems allowing applications based on it to be distributed at once to multiple systems.\n\nFlatpak, Snapd and Docker are similar. They are all used for deployment and applications use their own runtime.\n\nEach system has its own tools for development. Flatpak uses Flatpak Builder. Snapd uses Snapcraft. Docker development is based on `Dockerfile`s.\n\nFreedesktop SDK was developed to be the runtime of Flatpak. It used to be partly built with Flatpak Builder. It has since changed to be built with a deployment system agnostic tool: BuildStream. For this reason we can export the Freedesktop SDK to multiple formats.\n\nWe will show how it is possible to build an application for the three systems at once.","original_language":"eng","persons":["Valentin David"],"tags":["asg2019","145","2019"],"view_count":93,"promoted":false,"date":"2019-09-21T00:00:00.000+02:00","release_date":"2019-09-21T02:00:00.000+02:00","updated_at":"2026-01-16T09:45:10.691+01:00","length":1406,"duration":1406,"thumb_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/145-hd.jpg","poster_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/145-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/145-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/all_systems_go/2019/145-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/ASG2019-145-distributing-freedesktop-sdk-applications-to-flatpak-snapd-and-docker","url":"https://api.media.ccc.de/public/events/df4ceb70-2c63-538c-b581-e60adc89f261","conference_title":"All Systems Go! 2019","conference_url":"https://api.media.ccc.de/public/conferences/asg2019","related":[{"event_id":7865,"event_guid":"9dbd53a6-97d6-55b6-8ef0-e339aae4ff20","weight":5},{"event_id":7870,"event_guid":"878e4754-c346-5b93-96d2-1ca8bf5109c3","weight":13},{"event_id":7878,"event_guid":"dcabb3af-fcac-5e83-a77d-5aa655cd95b3","weight":4},{"event_id":7879,"event_guid":"b5ead4a4-e2f5-55d1-8ce1-ae27fbab329c","weight":5},{"event_id":7880,"event_guid":"8617d047-766c-5837-9350-a35c6d29d7cb","weight":1},{"event_id":7881,"event_guid":"faa5c5e3-6a1e-5c6d-bd90-eb270142ec6e","weight":7},{"event_id":7883,"event_guid":"40aa2960-6288-5a2f-bf6f-268746f0ecdf","weight":7},{"event_id":7888,"event_guid":"dad4ba00-7141-5e7d-af7d-02f492f4b5e5","weight":1},{"event_id":7891,"event_guid":"355ea6a0-d58b-5a47-a613-312ede6b1859","weight":1},{"event_id":7892,"event_guid":"b231881d-afaf-56f5-a57a-eaaab6668d79","weight":5},{"event_id":7893,"event_guid":"7bc76c4b-311d-55e4-b60e-1c837b15ed7b","weight":1},{"event_id":7894,"event_guid":"b9883475-56ad-5749-9c65-e178a1e6bbfb","weight":1},{"event_id":7914,"event_guid":"53354cbe-c92f-5c48-82e3-194690b28f0c","weight":12},{"event_id":7919,"event_guid":"595b1468-e708-5711-9879-404a83be790f","weight":1}],"recordings":[{"size":98,"length":1406,"mime_type":"video/mp4","language":"eng","filename":"asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-09-21T15:46:24.008+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/h264-hd/asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_hd.mp4","url":"https://api.media.ccc.de/public/recordings/40329","event_url":"https://api.media.ccc.de/public/events/df4ceb70-2c63-538c-b581-e60adc89f261","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":140,"length":1406,"mime_type":"video/webm","language":"eng","filename":"asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2019-09-21T17:10:35.077+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/webm-hd/asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/40453","event_url":"https://api.media.ccc.de/public/events/df4ceb70-2c63-538c-b581-e60adc89f261","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":60,"length":1406,"mime_type":"video/webm","language":"eng","filename":"asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-09-21T17:10:57.692+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/webm-sd/asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/40454","event_url":"https://api.media.ccc.de/public/events/df4ceb70-2c63-538c-b581-e60adc89f261","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":40,"length":1406,"mime_type":"video/mp4","language":"eng","filename":"asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2019-09-21T17:13:36.858+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/h264-sd/asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_sd.mp4","url":"https://api.media.ccc.de/public/recordings/40460","event_url":"https://api.media.ccc.de/public/events/df4ceb70-2c63-538c-b581-e60adc89f261","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":17,"length":1406,"mime_type":"audio/opus","language":"eng","filename":"asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2019-09-21T17:13:53.573+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/opus/asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_opus.opus","url":"https://api.media.ccc.de/public/recordings/40461","event_url":"https://api.media.ccc.de/public/events/df4ceb70-2c63-538c-b581-e60adc89f261","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"},{"size":21,"length":1406,"mime_type":"audio/mpeg","language":"eng","filename":"asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2019-09-21T17:14:34.984+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2019/mp3/asg2019-145-eng-Distributing_Freedesktop_SDK_applications_to_Flatpak_Snapd_and_Docker_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/40462","event_url":"https://api.media.ccc.de/public/events/df4ceb70-2c63-538c-b581-e60adc89f261","conference_url":"https://api.media.ccc.de/public/conferences/asg2019"}]}