tias / xinput_calibrator

A generic touchscreen calibration program for X.Org
http://www.freedesktop.org/wiki/Software/xinput_calibrator
Other
136 stars 105 forks source link

For everyone who have troubles with downloading tar.gz #85

Closed TemiusIII closed 1 month ago

TemiusIII commented 11 months ago

https://github.com/TemiusIII/xinput_calibrator-0.7.5.tar.gz

meator commented 2 months ago

Official sources should be preferred. Your download link cannot be trusted.

I have looked into the linked archive and it appears to be genuine as of https://github.com/TemiusIII/xinput_calibrator-0.7.5.tar.gz/commit/78d91c72549fcbab1b08871b45cc3b9d4e76d4bf (commit 78d91c72549fcbab1b08871b45cc3b9d4e76d4bf of repo TemiusIII/xinput_calibrator-0.7.5.tar.gz).

It bears SHA256SUM of baa4ddca49ec94c27ba4c715bfa26692fec1132103e927213c3169e475d3d971 which corresponds with a third party source.

The fact that the tarball is genuine now doesn't have to mean that it will be genuine in the future.

I believe that the best available tarball that can be used as a substitute is https://github.com/tias/xinput_calibrator/archive/refs/tags/v0.7.5.tar.gz The contents of this tarball differ slightly from the original one (this one has SHA256SUM of d8edbf84523d60f52311d086a1e3ad0f3536f448360063dd8029bf6290aa65e9). Here's the diff:

Only in v0.7.5: .gitignore
Only in xinput_calibrator-0.7.5: Makefile.in
Only in xinput_calibrator-0.7.5: aclocal.m4
Only in xinput_calibrator-0.7.5: config.guess
Only in xinput_calibrator-0.7.5: config.sub
Only in xinput_calibrator-0.7.5: configure
Only in xinput_calibrator-0.7.5: depcomp
Only in xinput_calibrator-0.7.5: install-sh
Only in xinput_calibrator-0.7.5: ltmain.sh
Only in xinput_calibrator-0.7.5/man: Makefile.in
Only in xinput_calibrator-0.7.5: missing
Only in xinput_calibrator-0.7.5/scripts: Makefile.in
Only in v0.7.5/src: .gitignore
Only in xinput_calibrator-0.7.5/src: Makefile.in
Only in xinput_calibrator-0.7.5/src/calibrator: Makefile.in
Only in xinput_calibrator-0.7.5/src/gui: Makefile.in

The original tarball includes the generated configure script and other automake files. The v0.7.5.tar.gz link I have provided is less practical to use, because it lacks these files. They have to be generated manually if one wants to use this tarball.

I will try to find an appropriate Freedesktop mailing list and complain about the missing http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz link. Deleting releases complicates package management and creates confusion.

tias commented 1 month ago

Thanks for notifying me by mail @meator. I don't know how/why they are deleted, I did not change anything, will look into it.

tias commented 1 month ago

Seems like the Download system I used 'back then' has been deprecated since 2012: https://github.blog/2012-12-12-goodbye-uploads/

Note that I no longer have the hardware to test this software, nor much personal capacity.

I am willing to see if I can repackage the different releases for downstream distributions that package it. I could also hand over maintenance to an active but neutral user.

@meator is there a way that you would recommend to re-enable downloads? Maybe the 'Releases' system of github (which I would have to get a bit acquainted to).

meator commented 1 month ago

Thanks for the quick reply!

It would be nice if you could create a GitHub release for the v0.7.5 git tag and add a release artifact named xinput_calibrator-0.7.5.tar.gz. This file should be identical to the now nonexistent http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz. Its SHA256SUM should be baa4ddca49ec94c27ba4c715bfa26692fec1132103e927213c3169e475d3d971.

This should be "future proof", I don't think GitHub is planning to deprecate Releases anytime soon. GitHub hosting is reliable. If the provided file will be identical, packagers could simply switch from http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz to https://github.com/tias/xinput_calibrator/releases/download/v0.7.5/xinput_calibrator-0.7.5.tar.gz without worrying about breaking changes.

I have checked and it looks like xinput_calibrator-0.7.5.tar.gz is still buildable in Void Linux's package builder. Many old packages require patches because newer versions of GCC introduce changes, but that isn't necessary here. The fact that it builds doesn't have to mean that xinput_calibrator works, but it's good to know nonetheless.

1ace commented 1 month ago

As the project was moved to https://gitlab.freedesktop.org/xorg/app/xinput-calibrator, you can also use the generated tags tarballs there: https://gitlab.freedesktop.org/xorg/app/xinput-calibrator/-/tags

(although I have no idea if the checksums will match the generated tags tarballs that github was providing)

meator commented 1 month ago

I think that GitLab's tag archives will suffer from the same issues GitHub's do. The now missing release tarball contained generated configure script and other Automake generated files.

Tag archives from both GitHub and GitLab have a different SHA256SUM and require an extra compilation step (invoking autoreconf to generate configure script).

Using a tag archive is an entirely valid approach, but distributors have to be aware of the two differences outlined above.

meator commented 1 month ago

I have noticed that a portion of this issue has been duplicated on the GitLab site. I will continue the discussion on https://gitlab.freedesktop.org/xorg/app/xinput-calibrator/-/issues/85

tias commented 1 month ago

So yes, while checking how to best keep this project alive following the reported download issue in this thread, I found an old invitation from Peter Hutterer to move this repo under the xorg wing on freedesktop.org.

I'm very happy to share that Peter was still open to that, and that he has done the migration, set up a CI and is already incorporating some patches that have been submitted over the years. I am about to merge the 'retirement' pull request.

About the original tarballs, they are lost and even if somebody still has a copy there is no good way to upload them to an authorative place. If you want to original sources, use the tarballs corresponding to the 'tags' as written above, and run ./autogen.sh before the rest of your build scripts.

Peter confirmed on the xorg migrated version of this repo that he will do a new release soon, and that will be the way to continue forward.

Thanks for the continued interest in this tool and kind regards, Tias