Skip to content
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

Can we make a version without EOL distros in it? #42

Open
aaronfranke opened this issue Nov 17, 2017 · 13 comments
Open

Can we make a version without EOL distros in it? #42

aaronfranke opened this issue Nov 17, 2017 · 13 comments
Labels

Comments

@aaronfranke
Copy link

aaronfranke commented Nov 17, 2017

I think it would be a good idea to make a version without EOL distros in it.

There are a gigantic amount of distros on this list. Having every distro that ever existed on the list is useful for someone looking for a specific distro, or for anyone looking to see how many spin-offs of a distro were ever created, so the current version is good to have.

However, for people looking for an overview of current Linux distros and their families, having EOL distros on the list is just clutter. The list is absolutely gigantic right now. Simplifying the image to only include supported distros would be very nice.

I think this is only worth doing if it can be automated for each build. I would not expect you guys to maintain 2 branches, one with EOL distros removed, one not.

Thanks for considering.

@danhunsaker
Copy link

A bit of script-fu in build.sh should be able to generate gldt-current.csv and pass it through gnuclad as well. A PR to that effect would probably be welcome, I would imagine. 😊

@FabioLolix
Copy link
Owner

Hello @aaronfranke

There are a gigantic amount of distros on this list. Having every distro that ever existed

and I have already deleted distributions which had a lifespan of less then about 2 years :)

having EOL distros on the list is just clutter
I think this is only worth doing if it can be automated for each build

There is problem with deleting EOL distro,is that if they have parents the cladogram fail to generate, so this need to be considered

Simplifying the image to only include supported distros would be very nice.

I'm not for this goal but not against it either, if someone can script these

I would not expect you guys to maintain 2 branches

It was 99% or 98% me in the last year

@aaronfranke
Copy link
Author

Keeping EOL distros who have in-life children is perfectly fine, that's probably the ideal solution.

I wish you guys good luck, I have no idea how to script this in. Not familiar with any of these tools.

@FabioLolix
Copy link
Owner

I have no idea how to script this in.

Me too

@danhunsaker
Copy link

I'll see if I can take a crack at it sometime in the next couple of weeks.

@aaronfranke
Copy link
Author

@danhunsaker How's it going?

@danhunsaker
Copy link

Haven't had a chance to sit down with it, still. It'll take some doing to do it right. Mostly, though, the script (probably in something more powerful than Bash) will need to load the CSV, build a dependency tree, then prune any leaves with an EOL entry until no more leaves have an EOL set. Any distros which have died, but spawned other distros at some point, will never be leaf nodes, so they'll never be pruned. 😊 The resulting list would then be pretty simple to use to filter the master CSV into a (temporary?) Current Distros CSV, and then pass that through the same conversion process as the master file to generate images for it.

@ghost
Copy link

ghost commented Jul 29, 2018

In the archive below is a shell script for removing the EOL distros (but not ones that non-EOL distros branch from), a csv of filtered data from the most recent version, and the resulting svg:
No_EOL.tar.gz

When building with gnuclad, errors will be emitted regarding connections. I was too lazy to build the functionality removing connections to deleted distros into the script.

@aaronfranke
Copy link
Author

@jorgenatz Nice work! I could probably take your work and make a pull request, or you could.

Would we want this script to be integrated with build.sh or have it as a separate script, eg build-active.sh? In either case I'm thinking have it generate from the original CSV every time, and having the .gitignore ignore gldt-active.csv.

@ghost
Copy link

ghost commented Aug 3, 2018

Here is an archive with a tree that eliminates even more distros:
Distrowatch_Active.tar.gz

I based this off the criteria that they must be listed as Active in DistroWatch, as well as listed in the existing tree without an end date. However, it eliminates not only leaf nodes, but also parent nodes of active distributions. Hopefully it comes closer to an overview and is more easily digestible, although I do not have a script to automate the process.

@btreut
Copy link

btreut commented Jan 4, 2019

@jorgenatz I successfully tried your script, but we have an additional dependency: it does not follow what I call "rebasing" (see e.g. issue #65), which means that a distribution is based on a different distribution and later changed to another base distribution. This rebasing is marked as influence and is reflected in dotted lines leading from the influencing to the infuenced. In the pruned diagram, the dotted line for SuSE, which connects in the standard diagram SuSE and Jurix, ends in the pruned diagram at RedHat (this is an interesting surprise which presents some subtle irony).

Everything else looks great, congratulations and applause.

@ghost
Copy link

ghost commented Jan 4, 2019

If you look very closely, you will see that that line to Jurix is actually two overlapping lines, one from SUSE to Jurix and another from SUSE to Red Hat. I see that they are certainly difficult to distinguish. Perhaps this may be considered an issue. Thank you for trying my script.

@btreut
Copy link

btreut commented Jan 4, 2019

Hmm, I see the two overlapping lines i.e. red dots between SuSE and RedHat and grey dashes betwen SuSE and Jurix. but I think that such influences (Jurix - SuSE), which are labeled in the legend as "Developer & code sharing, project merging", should prevent the influencing distribution (in this case Jurix) from being pruned if the influenced distribution is still supported, since it is a kind of life after death under a different name/identity.

@jorgenatz: I have no idea how this might be integrated in your script.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants