tukaani-project / xz

XZ Utils
https://tukaani.org/xz/
Other
532 stars 95 forks source link

Missing `configure` file #71

Closed Ricky-Tigg closed 9 months ago

Ricky-Tigg commented 9 months ago

Describe the bug

Reference: INSTALL.generic | ./configure is present as a configuration instruction.

Hello, In Bash Shell:

$ ./configure
bash: ./configure: No such file or directory
$ ls | grep -i configure
configure.ac

Version

5.4.5; as source code (tar.gz)

Operating System

Fedora; edition 39

Relevant log output

No response

Larhzu commented 9 months ago

xz-5.4.5.tar.gz does have configure. Perhaps you downloaded "Source code (tar.gz)" which is what GitHub creates from the associated git tag and thus it contains only the files from the git repository and not all the generated files.

There also are no signature files (.sig) for the generated files.

I have understood that it's general knowledge that those Github-generated .tar.gz files should be ignored when other files are available in a release. Those generated files cannot be disabled.

Ricky-Tigg commented 9 months ago

I feel that i am learning something. I have observed that on this platform, with no regard to the date before and after it was acquired by Microsoft, that the Release section, when it contains items In the Assets section, may display a Source code-named link, which is the one I referred to and you referred to as well, as downloaded though.

I have always assumed, nonetheless without foundation, that all of the items that are present in this Assets section provide the project's source code equally, however in various file formats. Hence I kept wondering the motivation for displaying a Source code-named link, The present project suits as an illustration.

While focusing on the latest release, among the displayed items those ones are present:

Notes:

  1. The icons referred as <icon> differ from each other; I suppose for a reason.
  2. The immediate mentions at the right side of the icons are links to files provided for download.

Those links are tied to a same named file - xz-5.4.5.tar.gz. That represents a reasonable source of confusion.

JiaT75 commented 9 months ago

I can understand the confusion here. While GitHub does a lot of things well, unfortunately maintainers on GitHub have no control over the naming of the "Source code" release files, but we can add extra files to the release. Some projects choose to add pre-compiled binaries to the release, so it is more obvious in those projects which files you want to download (and to be sure that the source is always easily available for every release without having to clone the entire project).

It is my understanding that under the hood GitHub is using git archive to generate the "Source code" archives based on the tag of the release. So it would be possible for us to exclude most or all files from git archive using a .gitattributes file to make it clear that the GitHub auto-generated archives are not meant to be consumed by users. This would be annoying for anyone who has already been using git archive though so I don't see us doing this.

Like many projects, when we generate our source code releases, we essentially run Automake's dist-gzip target to prepare our documentation, translations, etc. and, as you know, generate the configure script. git archive does not run these steps and so the GitHub archives are best thought of as a snapshot of the git repository at the time of the release.

So, its best to ignore the GitHub generated archives for a majority of repositories on GitHub. I hope this helps!

Ricky-Tigg commented 9 months ago

I learned my lesson, I know i will ignore archives auto-generated by this platform. As we can conclude there is no case for an issue, hence closing accordingly.

Larhzu commented 9 months ago

Those links are tied to a same named file - xz-5.4.5.tar.gz. That represents a reasonable source of confusion.

I hadn't realized this. When hovers of the link, it points to v5.4.5.tar.gz. If copy the link and use it with wget I will get v5.4.5.tar.gz. But if I click the link with Firefox, the name gets converted to xz-5.4.5.tar.gz.

Having a way to get a tarball of the git tag is useful in general and for some projects it's all they need. But for many other projects it's confusing especially since the link is forcefully named Source code. The icons differ but a cube vs. a zipper doesn't convey any meaning to me at least.