Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
Remove all Emacswiki packages #5008
Conversation
|
I'm strongly in favour of this, and it certainly makes sense to just bite the bullet and do it. However, it will dramatically impact the day-to-day experience of many people who rely on certain very popular packages that are not available elsewhere. So I think we need to publicise this ahead of time and give a timeline. It would also be really helpful if @kensanata would be willing to end-of-life the hosting of code on Emacswiki on a compatible timeline - is that something you'd consider, Alex? |
|
Additionally, this will presumably cause a bunch of other packages to become uninstallable, as a result of depending on packages in this list. |
A half-way step to this would be to block the "raw" view of files on the emacswiki, so that files could be viewed in an html wrapper, but not easily downloaded in their original form. |
|
While this is a positive step for security, it's really annoying to suddenly find that your dotfiles no longer properly work on a new computer (arguably when you need them to work the most, since you're busy setting other stuff up). Would it be possible to freeze and copy the emacswiki packages to github or similar git hosting, instead of deleting them entirely? I guess that would raise the issue of who would maintain the packages then... |
We have already frozen those: #2342 (comment) ff. Maybe there are new ones, I'll check.
Could you give me a list of the download counts? We could freeze the most popular ones like we have done for the ones being depended on by non-wiki packages. |
technomancy
commented
Sep 16, 2017
If your dotfiles depend on software downloaded from a wiki, they're already broken. Better to be broken in a way that is obvious than one that is hidden. If this doesn't get merged what's to stop someone from just deleting them from the emacswiki directly instead? |
Is this sufficient? - https://melpa.org/download_counts.json |
Yes. I forgot that exists - it was late |
|
I think we should immediately stop updating any packages from the wiki, which can be easily done by editing |
tarsius
added a commit
that referenced
this pull request
Sep 16, 2017
tarsius
referenced this pull request
in melpa/package-build
Sep 16, 2017
Merged
Almost remove Emacswiki support #9
|
I have updated the statistics at https://emacsmirror.net/stats/emacswiki.html. |
This line is not very accurate at least: yaoddmuse is a soft dependency, company works just fine without it. |
I am aware of that. From #2342 (comment):
Despite these limitations I still think this information is useful. |
|
I have updated the table. Soft dependencies are now marked as such. |
|
Looking at the dependencies as seen by MELPA (using https://melpa.org/recipes.json and https://melpa.org/archive.json), gives a similar picture (this obviously does not include soft dependencies):
The greatest (and by far the most important) discrepancy is that The only other differences are that This obviously does not list all indirect dependencies (which would include everything that depends on |
syl20bnr
referenced this pull request
in emacs-evil/evil
Sep 16, 2017
Closed
Remove dependency on goto-chg #922
|
Opened an issue on the evil repo for the goto-chg problem. |
|
@purcell Would you accept if I forked that package under the emacs-evil organization, modified it so that it works correctly with Evil and replaced the existing MELPA package with it? This would obviously require that it stays a drop-in replacement that works correctly both with and without |
That's because the
I would very much welcome that. Actually I think that I have proposed that to the previous maintainer (or maybe I just intended to do it, or only talked about it here). |
Yes, definitely. |
|
OK, done. @tarsius Don't forget removing |
tarsius
added a commit
that referenced
this pull request
Sep 18, 2017
kensanata
commented
Sep 22, 2017
|
I think the hosting of code on Emacs Wiki is a small but positive feature. Distributing this code using a package manager might be something that requires an extra effort you are not willing to spend (and neither am I) but removing this feature would result in a net negative for me and that is why I don't think that is a good idea.
|
agsdot
referenced this pull request
in dimitri/el-get
Sep 23, 2017
Open
Update: goto-chg.rcp type, emacswiki -> github #2570
|
Since this is trending on r/emacs...
I have implemented that in melpa/package-build#9, but that still has to be merge into Melpa. I think it is a good solution in the short run. |
tekktonic
commented
Sep 25, 2017
•
|
@kensantana the issue isn't that it's hard to maintain but that there is no verifiability and it's therefore a security risk. I can go onto emacswiki and modify a common package to recursively delete $HOME or worse and anyone unlucky enough to pull that package before it's fixed is screwed EDIT: Oops, missed some nuance here; this is what I get for reading github issues on my phone on the bus home :) |
|
@tekktonic: He (@kensanata) already acknowledged this risk. He went on making a distinction between the risk of making packages with originate from the wiki available through a package manager (i.e. allowing to "pull" them (without being aware of the original source)) and the benefits of making code available on a wiki (implying that this is not as risky because users know what's going on). I think we should let that side-issue rest for the time being and concentrate on getting the Melpa issue resolved first. |
kensanata
commented
Sep 25, 2017
|
Yeah, the "more work involved" I implied is something like keeping a hash of verified releases, and doing the actual verifying. It's something that a release manager would do. Whether the code author does it (which is what you would like to enforce—and which you implicitly trust all of them to do) or whether an independent release manager does it (which nobody is volunteering to do), or indeed relying on the end user to do it (basically this is what the wiki does) are simply different ways of solving the issue.
As Jonas said, we all agreed that simply copying from the wiki and packaging the latest version doesn't do it. An additional organizational step is needed. Actual work by real people, sadly. :)
|
purcell
added a commit
that referenced
this pull request
Sep 30, 2017
|
Alright, melpa/melpa#4802 is merged (which removes support for most of the non- @tarsius has submitted melpa/package-build#9, which will effectively prevent emacswiki packages from updating in future on MELPA. Merging it and using it for MELPA means that if we ever had to do a full rebuild from MELPA, the wiki packages would be dropped. I think that's acceptable, and we can establish a timeline for removing them anyway and finally merging this PR. I might suggest three months? Perhaps it would be good to somehow highlight wiki packages more prominently on the web site and (ideally) in Emacs so that people will know to avoid/migrate them... ideas? I've spent a bit of time figuring out if MELPA's overall build machinery will break when melpa/package-build#9 is incorporated, and I think we're safe, so I'll go ahead and apply those changes here. In any case, I modified our build script directly so that wiki packages will no longer be built (see b6b281c). |
purcell
added a commit
that referenced
this pull request
Sep 30, 2017
|
I've started the ball rolling by taking the only part of |
tarsius
added
policy
emacswiki
labels
Sep 30, 2017
|
Thanks @purcell! I have summarized the current status in my initial post above. |
pbogdan
referenced this pull request
in NixOS/nixpkgs
Oct 18, 2017
Open
Mark packages as broken when their dependencies cannot be met (was font-lock-plus missing from emacsPackages) #30532
|
This will destroy my dired config, but I am fully in favour. I think what @purcell did with the font lock is a great idea. I depend on some code from Do we want to start tracking these "soft forks" of some of the wiki functionality so we can have a list for people who would want to migrate/fix their setups? |
|
Couldn't deps (like font-lock+) just be placed in a repository under /melpa until someone comes along and want to maintain it? At least it could be used for keeping track of changes and bug reports. It doesn't matter if changes take alot of time to get through if you ask me. |
|
@etu that would probably work, but it would require some review of the code to make sure there is no dangerous content in there---we can not assume that the packages are not already compromised if we do this mainly from the security point of view. So if people start chopping the packages into smaller pieces there will be some sort of implicit review in that and at least some basic safety will be ensured. So it's mostly about the available resources I guess. |
|
So if I would create a github-organization for a emacs-wiki-packages-rescue project, and then copy all the code as initial commits without going through the code at all. And then ask people and myself to go through things to later submit to melpa after it's tested through and checked. How would people feel about such project? |
I still think it would be better to write some tool for Drew that would allow him to upload to the wiki as before but which would at the same time push to package-specific git repository. |
|
@tarsius Oh... I had missed that that was an issue... What about something that scrapes emacs-wiki and makes pull requests in corresponding repositories automatically so we can have revisions and checks of what happens? |
The Emacsmirror already contains 678 such repositories. I update them every few weeks.
Do you want to perform these reviews for the next decade? I have been waiting for a decade for Drew to start using git. While maintaining tools specifically to deal with his packages (and five others or so). And I am done with it, by which I mean I will keep maintaining these tools, but I don't want to be involved in any efforts to write better tools - unless they solve the issue at the source, i.e. when Drew invokes the "upload" command. |
tarsius commentedSep 15, 2017
•
edited
Since everyone here (#2342) agrees that the Emacswiki packages should be removed because they pose a huge security risk, let's just do it. We pretty much decided to do this years ago and we tried to get maintainers to move their packages. Waiting a few more years won't make any difference except that it leaves the community at risk.
Update
Status Packages from the Emacswiki are still available from Melpa, but they are no longer being updates, because melpa/package-build#9 has been merged into Melpa.
TODO Here is a list of ongoing efforts to get packages of the Emacswiki:
You might want to just skip ahead to #5008 (comment). On the other hand, if you want the full context, then read the stuff inbetween - as well as all the other issues labeled
emacswiki;-)