this post was submitted on 18 Feb 2025
72 points (98.6% liked)

Linux

50449 readers
543 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Context:

Reproducible builds ensure software can be rebuilt in an identical, bit-for-bit manner anywhere at any time using the same tools. This means that someone rebuilding the software from the same source code will get exactly the same results.

Why is this important? Because it’s a crucial aspect for supply-chain security.

Source: https://news.opensuse.org/2025/02/18/rbos-project-hits-milestone/

you are viewing a single comment's thread
view the rest of the comments
[–] SatanClaus@lemmy.dbzer0.com 14 points 5 days ago (6 children)

And here I thought this was kinda already the case. 🫣

[–] F04118F 14 points 5 days ago* (last edited 5 days ago) (3 children)

There is a reason why NixOS was invented 21 years ago. Reproducible builds are not simple in most ~~packaging~~ build systems.

[–] fossphi@lemm.ee 5 points 5 days ago* (last edited 5 days ago)

Nix doesn't really guarantee reproduciblity, though. It's a neat idea for deterministic configurations. But bit by bit reproducible binary builds are an entire difference beast. GNU Guix has way more promise in that regard

[–] atzanteol@sh.itjust.works 5 points 5 days ago

I believe it's less about the packaging system and more about the build system. You're building source code from thousands of individual projects, getting a reproducible output is difficult if, for example, some library embeds the build date/time in its output.

[–] Fisch@discuss.tchncs.de 2 points 5 days ago (2 children)

Why tho? I'm a software developer but I don't do much with build systems. With the same source code, shouldn't the resulting binary always be the same too?

[–] atzanteol@sh.itjust.works 6 points 5 days ago

You need the same source code, the same exact build tools, the same exact libraries that it depends on, and the same exact OS. Additionally every single build has to be reproducible - so not including in its output, say, the build date/time or any information about the host that built it. Now you need to repeat that for thousands of packages.

[–] ugo@feddit.it 3 points 5 days ago

Not necessarily. Timestamps, file paths, and other environment metadata can easily sneak into an executable and make a program not build reproducibly

load more comments (2 replies)