News for hackers. Stuff that matters.
Re:Reproducible Arch Linux by baldfat on Friday December 01, 2017 @08:03AM (#15823527)
We are all still living on 30 year old package management systems and we need a modern approach.

I still have hope for flatpak. I want a system where the folder is the application and deleting the folder is the way you remove applications. The devil though is in the details of how or what is shared.

Sadly flatpak and snap don't seem to have much in community support. MacOS and OSX seem to be the closest to this idea of the folder being the application. Trying Nix it is just impractical, but I liked the idea.

Re:Reproducible Arch Linux by cpburns2009 on Friday December 01, 2017 @10:26AM (#15824329)
I still don't understand the fascination with flatpak, snap, etc. In my experience the package managers for Debian, Fedora, and Arch Linux work just fine. I really would prefer not to have 20 different minor versions of the same packages installed because the maintainers were lazy and used fat packages. It may be arguable to use fat packages for games (e.g., to support Steam) because it's my understanding that they have the most quirks of all programs. Nix and Guix do intrigue me though as a potential replacement of the various Linux package managers.
Re:Reproducible Arch Linux by rdtsc on Friday December 01, 2017 @10:39AM (#15824429)
> Nix and Guix do intrigue me though as a potential replacement of the various Linux package managers.

I am looking at those as well. One appeal is they allow precise tracking of dependencies and seem to support Mac as well, so could set things up easier on developers machines.

Re:Reproducible Arch Linux by baldfat on Friday December 01, 2017 @10:40AM (#15824434)
> I still don't understand the fascination with flatpak, snap, etc. In my experience the package managers for Debian, Fedora, and Arch Linux work just fine.

It isn't fine for developers or for the Linux ecosystem.

Sure it works for users for installing what has been a complex development and packaging system.

The problem is exactly that it is hard to distribute applications in Linux.

> Flatpak is the next-generation technology for building and installing desktop applications. It has the power to revolutionize the Linux desktop ecosystem. https://flatpak.org/

Re:Reproducible Arch Linux by Spivak on Friday December 01, 2017 @11:00AM (#15824595)
Application developers aren't supposed to be distributing applications. Obviously this is unrealistic and fat packages are a pretty good solution but they're best positioned to be supplementary rather than replacement for disto package managers.

> The problem is exactly that it is hard to distribute applications in Linux.

For who? Distributions generally seem to like their own packaging processes. You can distribute a package on the AUR in a few lines of bash and it's filled to the brim with software because of it.

Re:Reproducible Arch Linux by baldfat on Friday December 01, 2017 @11:50AM (#15825067)
> For who? Distributions generally seem to like their own packaging processes.

Me and the lack of software on Linux. I am talking about making it so that Linux can finally get some killer apps that we can't get our hands on.

Flatpak is the replacement for applications and not OS specific packages. You would still use a package manager for OS related packages and for flatpak/snap and then flatpak/snap installs and uninstalls applications. Much better system for everyone.

The complexity for deployment and its complexity and diversity is the number one issue with Desktop Linux and applications. This is why we don't have Adobe applications or many others. I use several commercial programs and to them deb = Linux and I use OpenSUSE so I constantly have to go through hoops until they start supporting rpm, which they normally will start doing if they get enough traction in Linux.

Re:Reproducible Arch Linux by cpburns2009 on Friday December 01, 2017 @01:31PM (#15826012)
> Flatpak is the replacement for applications and not OS specific packages. You would still use a package manager for OS related packages and for flatpak/snap and then flatpak/snap installs and uninstalls applications. Much better system for everyone.

Now this is the key difference I feel has been left out of the messaging surrounding flatpak. It's not meant for libraries and OS packages, just end-user applications? That makes more sense now.

Re:Reproducible Arch Linux by baldfat on Friday December 01, 2017 @04:24PM (#15827635)
Sadly this is totally lost. Flatpak actually works with repos. If people would try them they would actually know what this is about
Re:Reproducible Arch Linux by cpburns2009 on Friday December 01, 2017 @11:29AM (#15824885)
Please forgive my ignorance because my experience with packing is limited PyPI. What makes building packages so difficult? Don't you essentially just include your binaries, related files, specify dependencies, maybe include pre or post processing scripts, and then finally build the package for the respective packaging system? I'm sure there are subtle differences in configuration and organization between the various systems, but that sounds more like an initial setup pain than something overly complex.
Re:Reproducible Arch Linux by baldfat on Friday December 01, 2017 @11:44AM (#15825022)
> PyPI. What makes building packages so difficult?

Well the achiles heel for Python is also deployment. The reason why we have so few applications is that each system has differences. RPM, DEB to other Distros or forget you just read this but (SystemD and not SystemD). With a flatpak you have a runtime and the runtime makes the hooks for the development.

Linux has a great tool for deploying different packages and it is hardly used. You build the package here and then it will rebuild it for other distros and systems. It could even make Windows and MacOS if they extend it. It is complex to do these things. https://build.opensuse.org/

With a flatpak or snap you just build the one package and it runs everywhere.

Re:Reproducible Arch Linux by mdekkers on Friday December 01, 2017 @02:25PM (#15826509)
you just build the one package and it runs everywhere

If I had a Euro for everytime I heard that, or some variation on that, I would have a lot of Euros

Re:Reproducible Arch Linux by marenkay on Friday December 01, 2017 @05:10PM (#15828114)
As with every packaging approach we have so far, no.

Package manager have nuances, and so have flatpak and snap installations.

Also, add Windows and macOS into the mix. Down the drain it is. It's basically what Docker was trying to get out of the way. Funny thing is that actually Go and Rust might be more the solution to the whole packaging dilemma that and packaging solution.

Re:Reproducible Arch Linux by baldfat on Saturday December 02, 2017 @11:27AM (#15832586)
https://chocolatey.org/ is Amazing on Windows and we have several things you can add and it makes for a great application distribution system.
Re:Reproducible Arch Linux by marenkay on Tuesday December 05, 2017 @11:13AM (#15852635)
But it is not the system default package manager, which is what I miss.
Re:Reproducible Arch Linux by ufo on Friday December 01, 2017 @08:55AM (#15823798)
Containers are orthogonal to what the parent poster was talking about. Reproduceable builds are a build system problem, not a package distribution or package interoperability problem.

Even with containers, being able to reproducibly rebuild the containerized application from its sources if desired is still a challenge.

Re:Reproducible Arch Linux by baldfat on Friday December 01, 2017 @11:57AM (#15825144)
> Even with containers, being able to reproducibly rebuild the containerized application from its sources if desired is still a challenge.

1) flatpak runs on a runtime and the application would than be exactly the same on all systems. Just like a Java program or any other programming language that runs on a runtime.

2. flatpak and snap are not for servers, which containers makes more sense because they are solving a different problem than desktops'. So they are more like a sandbox like what we find on tabs in Chrome.

> Is Flatpak a container technology?

"It can be, but it doesn't have to be. Since a desktop application would require quite extensive changes in order to be usable when run inside a container you will likely see Flatpak mostly deployed as a convenient library bundling technology early on, with the sandboxing or containerization being phased in over time for most applications. In general though we try to avoid using the term container when speaking about Flatpak as it tends to cause comparisons with Docker and rkt, comparisons which quickly stop making technical sense due to the very different problem spaces these technologies try to address. And thus we prefer using the term sandboxing." https://flatpak.org/faq.html

Re:Reproducible Arch Linux by ufo on Friday December 01, 2017 @12:46PM (#15825641)
Java bytecode and the other technologies you mentioned solve the problem of distributing a program so that it can run unmodified on various platforms.

Reproduceable builds are not about software distribution, they are about compilation. The Arch Linux maintainers would like to be able to verify that the Java bytecode that they are sending to their users was indeed built from the Java source files that they were expected to be built from. With reproduceable builds anyone can double check that the Java bytecode that is being distributed is the correct one by recompiling it on their own machine. Without reproduceable builds you need to trust that the person who compiled the file didn't do anything malicious (either intentionally or unintentionally)

Re:Reproducible Arch Linux by majewsky on Friday December 01, 2017 @09:43AM (#15824064)
> I want a system where the folder is the application and deleting the folder is the way you remove applications.

Why though? There is no difference in complexity between `package-manager uninstall package-name` and `rm -rf /apps/package-name`. If you implement the latter, it will probably be aliased to the former.

The biggest problem in any case is not the application's assets (which all package managers manage competently), but its state and configuration files. It took Windows about a decade of carrot and stick to get (most) applications to put their files in a few defined locations instead of all over the place.

Re:Reproducible Arch Linux by baldfat on Friday December 01, 2017 @10:12AM (#15824205)
> There is no difference in complexity between `package-manager uninstall package-name` and `rm -rf /apps/package-name`

The issue is reproducible and developer complexity. But in terms of complexity you are confusing user complexity and developer complexity. Developer complexity is still high and is the big barrier to Linux development.

Also we have the crazy apt-get update vs upgrade fiasco that chocolatey has gotten caught up in. They even made choco update be replaced by upgrade.

Re:Reproducible Arch Linux by jerf on Friday December 01, 2017 @08:54AM (#15823795)
"We are all still living on 30 year old package management systems and we need a modern approach.... Trying Nix it is just impractical, but I liked the idea."

There's a causal connection between those two things....

Re:Reproducible Arch Linux by keenerd on Friday December 01, 2017 @09:02AM (#15823837)
> I want a system where the folder is the application and deleting the folder is the way you remove applications.

ROX has been doing that for like 15 years. http://rox.sourceforge.net/desktop/AppDirs.html

Re:Reproducible Arch Linux by catern on Friday December 01, 2017 @03:11PM (#15826918)
This has absolutely nothing to do with my comment or with reproducible builds. Flatpak does absolutely nothing to help reproducible builds. That's just a statement of fact: It works at a different level of the stack, and solves a different problem.