-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Arch Linux installation #786
Conversation
This package had been broken for longer than it has been working. The owner of the package twice knowingly released new versions that didn't work and were regressions. I'm not comfortable recommending this package at this point. This may change in the future. |
For the reference, the community package has once again been broken. See https://bugs.archlinux.org/task/67212. A new package version has been pushed without testing and it had two bugs. One bug has been pointed out to the package owner a long time ago but he'd ignored it. Another bug was caused by disregarding by the owner of his own instructions for updating the package. |
@romkatv Sorry, I don't know enough of the package details to have an opinion about that one. I'm a bit confused why gitstatus has been included in the source, but like said before, this didn't work in the |
It's quite simple. I took ownership of zsh-theme-powerlevel10k-git and maintain it in good working state. The official powerlevel10k documentation lists it as a supported installation method. zsh-theme-powerlevel10k is not owned by me and I have no control over it. This package has a history of being broken often. The owner of the package doesn't use powerlevel10k himself and pushes new versions with no testing whatsoever.
gitstatus is a part of powerlevel10k that I have also made available as a separate project. |
@romkatv Great stuff! I didn't know you took ownership of zsh-theme-powerlevel10k-git. :) I'll replace it with your pkg and let you know if I'm running into any troubles. |
I just found out that the community package is being compiled with optimizations turned off. Optimizations have been turned off on May 26 in this commit. It's unclear whether this was intended. A bug has been filed on Sep 1 (with a patch) but it hasn't received a response. My recommendation to avoid the community package still holds. Use zsh-theme-powerlevel10k-git instead. |
@francoism90 Just for the record, because there are a few wrong accusations in this issue:
I haven't had a look on the zsh-theme-powerlevel10k-git-bin package, but some points apply there as well. In general I would not recommend using the AUR package. This is by the way not meant as attack. I invite the maintainer again to participate in the packaging progress. Patches are welcome, but they must follow our security standards and packaging expectations. |
What are the wrong accusations?
Cool!
You are the maintainer of zsh-theme-powerlevel10k, right? I'm curious who issued the invitation to test your own package. Have you accepted the invitation?
Great! I'm really glad about that.
Can you clarify the nature of the attack?
Thanks for letting me know. This has no bearing on security though, right? gitstatusd runs as the same user with the same privileges as the login shell that controls it. The only thing that can exploit gitstatusd is the login shell itself, which is pointless.
Ouch. It's the first time someone called the source code of my project trash.
This is an internal binary that's used only by scripts in
I'm glad.
I also welcome patches. You are invited to send them! |
That is because you decided to change the default handling of the https://cmake.org/cmake/help/v3.21/variable/CMAKE_BUILD_TYPE.html Please refer to the CMake packaging guidelines to understand why setting
If any of the Arch Linux packagers gets compromised, users will not be able to reproduce the package to detect if it was tampered with. See https://reproducible-builds.org.
Nobody is calling the source code of your project trash, that is a weird and IMO kind of bad-faith takeaway to take. What was pointed out was that it is not at all relevant for a binary package.
Please refer to the FHS, particularly the section about I appreciate you putting the time to look at these issues and being willing to discuss, though it seems that you are lacking some background on Arch Linux packaging, and Linux packaging is general. Given this, I would like to ask you to consider coordinating with the package maintainer(s) instead of making recommendations directly to users without fully understanding the implications. We all are just trying to do what's best for the user here. You obviously dominate this project, and the Arch Linux maintainers dominate packaging, so please let's try to collaborate instead of fighting each other. |
That's an extremely interesting remark. zsh-theme-powerlevel10k is not owned by me. It's been compiling libgit2 -- also not owned by me -- with optimizations turned off (which incidentally also disables hardening) since May last year. A bug report with a patch has been up and ignored since September last year.
You might want to educate someone who's actually involved in this issue, which is between the package owner and libgit2.
I read shibumi's remark that "zsh-theme-powerlevel10k-git is vulnerable to supply chain attacks" as implying that my package is vulnerable to supply chain attacks more than other packages. If that's indeed what shibumi meant, I'd be grateful for more info. That said, your point about the value of reproducible builds as an aid in uncovering a compromise is duly noted. I took a look at why
You won't convince me that I cannot read a simple statement. Calling the source code of my project trash wasn't the core of the sentence but it was nevertheless a part of it. Your bad-faith accusation as a follow up to an insult is out of line.
Thanks for the links. For my education, does Archlinux support multiple architectures on the same OS with a centrally mounted Note that both
My reasons for recommending against zsh-theme-powerlevel10k are given in this thread. They still hold. I welcome improvements to this package and will change my recommendation when its quality becomes satisfactory. |
It was not my intention to call your source code 'trash' and I am sorry for that misunderstanding. What I referred to as 'trash' is everything unrelated to provide the package's intended functionality. Assets blow up space. Just imagine every software maintainer would include their git repository with all build assets.. users would be annoyed by manually cleaning everything after each package update/installation.
This is correct. Reproducible-builds and binary transparency can cover supply-chain attacks. @FFY00 has provided already a good link for reproducible-builds: https://reproducible-builds.org/. Another good example is this picture here (source: https://security.googleblog.com/2021/06/introducing-slsa-end-to-end-framework.html): Every red mark is a possible attack vector in a supply chain. This is one of the security issues. The other one has been your build flags in the AUR package. If you compare the gitstatusd binary to the one from the official arch linux repositories you can see that we compile our binaries with PIE and other security features. I honestly, don't get your argument that "gitstatusd runs in the users terminal". Gitstatusd still interacts with foreign data (git repositories). I don't understand how gitstatusd works exactly, but just imagine gitstatusd has a vulnerability that would allow the attacker to execute arbitrary code via a maliciously modified git remote or filename or whatever. Security features like PIE would make this by far more challenging to exploit and use against the user. It makes a huge difference if a program just crashes or if it can be used to execute code or gain intel about the victims machine.
This is correct and mostly my fault, because I had no time yet to provide necessary patches for moving the gitstatusd binary to a different location. I don't maintain just one project.
We won't sacrifice security hardenings for optimizations. Sorry. But security is on the top of our bullet list. And it is on top of your bullet list, too (at least I hope that you care about your user's security. If not that would be sad).
That the package is unstable. I see that the package was unstable, but it is not anymore. We have introduced tests and other measures to provide a good experience and people are using it. @francoism90 said that the package is
The
In the end it is up to the user which one to pick. I just say it is not fair to publicly shame the package on your README.md, whileb being not unstable and even providing more security features, that your release does not. We do not do this kind of advertisement on our side. Your package is still up in the AUR and it is not modified with a big 'security risk!'-badge, right? |
You maintain your own fork of libgit2. I did not check the git blame to see if you were the one that introduced this overriding, my bad. I have opened an issue with the libgit2 upstream (libgit2/libgit2#5934).
The issue is not reading the statement, but rather interpreting it. When I say I am dying to get lunch, I am not... actually dying. The metaphor here was that the AUR package installed a bunch of stuff that was completely irrelevant and could be disposed of. Nobody was saying that your source code was literally trash, nobody other than you even mentioned the source code.
It is not either explicitly supported or unsupported, but I'd say it is essentially unsupported as pacman is not prepared for that.
Yeah, and that should definitely be corrected. |
@romkatv I realize that I'm reading this a good three weeks after the fact, but your behavior in this entire conversation has been very "screw the community", "everyone but me is wrong", and "everything is a personal attack." I love powerlevel10k, but if this is how you're going to act, I'll find a replacement. |
@jcoffm Please refrain from commenting on my (or anyone else's) behavior on this issue. Everyone: This issue is still on my TODO list. I didn't have the time to reply to your latest comments yet but I haven't forgotten about it. |
Since this is on your to-do list, do you mind reopening this to signal that there are plans to address at least some of the things that have been discussed here? I understand that it might be better to open a new issue to represent more accurately what is on your to-do list, but I imagine actually writing that down takes time too... |
@carlocab It cannot be reopened because the original repository no longer exists. |
Ah, I see. Fair enough. Thanks anyway! |
Apology accepted. No harm done.
This is a good point.
I'll keep an eye on your package. When you move gitstatusd to a different location, I'll incorporate the same changes in my package.
It's the other way around. When you disabled optimizations in zsh-theme-powerlevel10k, you also disabled hardening. So currently gitstatusd in your package is slower than it could be and it's also not fortified.
I believe all statements I've made on this issue w.r.t. zsh-theme-powerlevel10k were true at the time I made them. I haven't made any statements concerning to the future state of the package. It's the difference between "the package is unstable" vs "the package will always be unstable". I haven't made any wrong accusations as far as I can see.
This is great.
I've updated my package to use the same security features as zsh-theme-powerlevel10k (PIE, fortify, stack canary, etc.). It now also respects Once you enable optimization and hardening in your package, there should be no difference between the two w.r.t. performance and security.
For the sake of context, here's what The package is currently being compiled with optimizations turned off. Whether this constitutes being broken or not is a matter of opinion but it's a significant issue given that the raison d'etre of gitstatusd is performance. I can replace the sentence that starts with "Historically" if you like but I wouldn't change the final recommendation at this time. Once https://bugs.archlinux.org/task/67790 is fixed and the package is stable for a while, I'll be happy to update the recommendation. @shibumi and @FFY00, thank you for pointing out issues with zsh-theme-powerlevel10k-git and providing additional information to help me understand them. I believe I've fixed all of them. If you notice anything else, please do reach out. The best way would be by filing an issue but any other channel of communication is also fine. |
The package for Arch Linux has been updated and seems to work fine. The
git
version is in AUR and indeed seems to be missing some essential stuff.