{"guid":"XetgcTkXAOK7pX-5N7BKtA","title":"git native packaging","subtitle":null,"slug":"4136-git-native-packaging","link":"https://c3voc.de","description":"Packaging for a distribution means taking sources from upstream\nprojects, applying fixes and modifications, adding some\nconfiguration and then build the result by calling some commands.\n\nRPM formalized the process following a \"pristine sources\" model. The\napproach is basically to take the unmodified sources as released by\nupstream and store required changes in the form of patches as well\nas a build description next to them.\n\nTimes have changed. The distributed version control system git\ndominates the free software world. Juggling tarballs and manually\napplying patches is no longer a natural workflow. Packager life\ncould be much easier if downstream changes could be applied by means\nof git too, skipping tarballs.\n\nThis talks presents a way how to apply the pristine source idea to a\ngit based world, without history rewriting in the distro repo.\n\nPackaging for a distribution means taking sources from upstream\nprojects, applying fixes and modifications, adding some\nconfiguration and then build the result by calling some commands.\n\nRPM formalized the process following a \"pristine sources\" model. The\napproach is basically to take the unmodified sources as released by\nupstream and store required changes in the form of patches as well\nas a build description next to them.\n\nTimes have changed. The distributed version control system git\ndominates the free software world. Juggling tarballs and manually\napplying patches is no longer a natural workflow. Packager life\ncould be much easier if downstream changes could be applied by means\nof git too, skipping tarballs.\n\nThis talks presents a way how to apply the pristine source idea to a\ngit based world, without history rewriting in the distro repo.","original_language":"eng","persons":["Ludwig Nussel"],"tags":["osc23","4136","2023","Open Source"],"view_count":17,"promoted":false,"date":"2023-05-26T17:00:00.000+02:00","release_date":"2023-07-12T00:00:00.000+02:00","updated_at":"2025-10-01T01:00:05.405+02:00","length":1417,"duration":1417,"thumb_url":"https://static.media.ccc.de/media/events/osc/2023/4136-XetgcTkXAOK7pX-5N7BKtA.jpg","poster_url":"https://static.media.ccc.de/media/events/osc/2023/4136-XetgcTkXAOK7pX-5N7BKtA_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/osc/2023/4136-XetgcTkXAOK7pX-5N7BKtA.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/osc/2023/4136-XetgcTkXAOK7pX-5N7BKtA.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/4136-git-native-packaging","url":"https://api.media.ccc.de/public/events/XetgcTkXAOK7pX-5N7BKtA","conference_title":"openSUSE Conference 2023","conference_url":"https://api.media.ccc.de/public/conferences/osc23","related":[],"recordings":[{"size":49,"length":1417,"mime_type":"video/webm","language":"eng","filename":"osc23-4136-eng-git_native_packaging_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-07-12T10:56:04.600+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2023/webm-sd/osc23-4136-eng-git_native_packaging_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/67811","event_url":"https://api.media.ccc.de/public/events/XetgcTkXAOK7pX-5N7BKtA","conference_url":"https://api.media.ccc.de/public/conferences/osc23"},{"size":101,"length":1417,"mime_type":"video/webm","language":"eng","filename":"osc23-4136-eng-git_native_packaging_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-07-12T10:47:05.789+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2023/webm-hd/osc23-4136-eng-git_native_packaging_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/67810","event_url":"https://api.media.ccc.de/public/events/XetgcTkXAOK7pX-5N7BKtA","conference_url":"https://api.media.ccc.de/public/conferences/osc23"},{"size":36,"length":1417,"mime_type":"video/mp4","language":"eng","filename":"osc23-4136-eng-git_native_packaging_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-07-12T10:17:30.822+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2023/h264-sd/osc23-4136-eng-git_native_packaging_sd.mp4","url":"https://api.media.ccc.de/public/recordings/67808","event_url":"https://api.media.ccc.de/public/events/XetgcTkXAOK7pX-5N7BKtA","conference_url":"https://api.media.ccc.de/public/conferences/osc23"},{"size":21,"length":1417,"mime_type":"audio/mpeg","language":"eng","filename":"osc23-4136-eng-git_native_packaging_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2023-07-12T10:16:17.225+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2023/mp3/osc23-4136-eng-git_native_packaging_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/67807","event_url":"https://api.media.ccc.de/public/events/XetgcTkXAOK7pX-5N7BKtA","conference_url":"https://api.media.ccc.de/public/conferences/osc23"},{"size":13,"length":1417,"mime_type":"audio/opus","language":"eng","filename":"osc23-4136-eng-git_native_packaging_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2023-07-12T10:16:01.687+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2023/opus/osc23-4136-eng-git_native_packaging_opus.opus","url":"https://api.media.ccc.de/public/recordings/67806","event_url":"https://api.media.ccc.de/public/events/XetgcTkXAOK7pX-5N7BKtA","conference_url":"https://api.media.ccc.de/public/conferences/osc23"},{"size":82,"length":1417,"mime_type":"video/mp4","language":"eng","filename":"osc23-4136-eng-git_native_packaging_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-07-12T10:06:31.117+02:00","recording_url":"https://cdn.media.ccc.de/events/osc/2023/h264-hd/osc23-4136-eng-git_native_packaging_hd.mp4","url":"https://api.media.ccc.de/public/recordings/67805","event_url":"https://api.media.ccc.de/public/events/XetgcTkXAOK7pX-5N7BKtA","conference_url":"https://api.media.ccc.de/public/conferences/osc23"}]}