LinuxTimeline icon indicating copy to clipboard operation
LinuxTimeline copied to clipboard

Can we make a version without EOL distros in it?

Open aaronfranke opened this issue 6 years ago • 13 comments

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.

aaronfranke avatar Nov 17 '17 21:11 aaronfranke

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. 😊

danhunsaker avatar Nov 18 '17 00:11 danhunsaker

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

FabioLolix avatar Dec 04 '17 22:12 FabioLolix

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.

aaronfranke avatar Dec 04 '17 22:12 aaronfranke

I have no idea how to script this in.

Me too

FabioLolix avatar Dec 04 '17 22:12 FabioLolix

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

danhunsaker avatar Dec 04 '17 22:12 danhunsaker

@danhunsaker How's it going?

aaronfranke avatar Apr 23 '18 03:04 aaronfranke

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.

danhunsaker avatar Apr 23 '18 04:04 danhunsaker

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.

ghost avatar Jul 29 '18 01:07 ghost

@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.

aaronfranke avatar Jul 30 '18 01:07 aaronfranke

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.

ghost avatar Aug 03 '18 03:08 ghost

@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.

btreut avatar Jan 04 '19 13:01 btreut

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.

ghost avatar Jan 04 '19 18:01 ghost

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.

btreut avatar Jan 04 '19 22:01 btreut