rrthomas / mmv

Other
50 stars 7 forks source link

Avoid releasing confusing "source code" git snapshots #11

Closed EdwinKM closed 1 year ago

EdwinKM commented 1 year ago

I am trying to build mmv from source on Alphine (docker image). Readme.md is starting with "./confgure" but this fails immediately because the file does not exists. The steps in the Readme.md seems incomplete.

Not familiar with this i googled some steps, basically:

Included the log files of the detailed output. But line 3005 seems quite similar to the output of "autoconf". I assume it is not working correctly (although the exit code is 0).

./configure: line 3005: Some: not found ./configure: line 3007: syntax error: unterminated quoted string

aclocal.log

rrthomas commented 1 year ago

This is fully explained in README.md; do file an issue if anything is unclear, missing, or wrong! It sounds like you need "Building from git", and maybe you're following "Building from a release tarball" by mistake?

EdwinKM commented 1 year ago

not sure if i understand. I file a issue that things are unclear and missing and it is closed.

I want to compile the app using the tarball. This should work also right?

The only line there is "./configure && make && make check" . I can understand that a creator will not add the package names for the buildtools (different for all distuributions). But said steps seems not complete. If "git" way seems the only way we should remove the other option imho.

rrthomas commented 1 year ago

Sorry, I guess you are starting by saying that the instructions are unclear.

Let me try again. README.md contains instructions for how to compile from git, and for how to compile from a release tarball. The sections are headed "Building from a release tarball" and "Building mmv from git". I'm not sure how this is unclear.

EdwinKM commented 1 year ago

it seem if you run "./configure" the file must exist. This file is not included. Maybe "Building mmv from git" will create it, but then the two paths are intertwined.

rrthomas commented 1 year ago

OK, I think I see what has gone wrong here: have you by any chance downloaded the tarball labelled "Source code"? That is not the release tarball. It's annoying that GitHub puts that there. I will have to see if there's anything I can do to make it clearer that what you need is mmv-2.3.tar.gz (in the case of the latest release).

rrthomas commented 1 year ago

So the latest release tarball is as of this writing: https://github.com/rrthomas/mmv/releases/download/v2.3/mmv-2.3.tar.gz

EdwinKM commented 1 year ago

yes, downloaded https://github.com/rrthomas/mmv/archive/refs/tags/v2.3.tar.gz and also looking at the repo. Will try your url!

EdwinKM commented 1 year ago

great, this works a lot better :) The source package seemed quite fitting for my purpose. If you can improve this for others that will be helpful. Thanks!

For Alpine users. We need this list of packages. apk add -U --update --no-cache --virtual=build-dependencies build-base pkgconfig g++ gc-dev make

rrthomas commented 1 year ago

Thanks for the feedback. I won't be providing distro-specific lists of deps, I'm afraid; that's an endless task. Instead, I do list the deps in README.md and bootstrap and configure checks for them, and should give a sensible message if one is missing.

I just wanted to check how you found the "wrong" tarball originally: if you go to the main GitHub page, you see "releases", and then there's a list of 3 files. Is that how you found it? (It unhelpfully says "Source code" on the "wrong" one.)

EdwinKM commented 1 year ago

Thanks for the feedback. I won't be providing distro-specific lists of deps, I'm afraid; that's an endless task. Instead, I do list the deps in README.md and bootstrap and configure checks for them, and should give a sensible message if one is missing.

Fair enough.

I just wanted to check how you found the "wrong" tarball originally: if you go to the main GitHub page, you see "releases", and then there's a list of 3 files. Is that how you found it? (It unhelpfully says "Source code" on the "wrong" one.)

Exactly as you said. Alpine does not has this package so manually compiling seems the only way. I saw 3 packages. Without "source" i normally assume are binaries, so i picked the source.tar.gz. No way i would figured out there is another source packages with extra files (a pipeline is adding some automated stuff?).

rrthomas commented 1 year ago

The "source code" archives are added automatically by GitHub (not even a CI pipeline, just the act of creating a release); I will see if I can fix the release procedure to avoid creating them.

rrthomas commented 1 year ago

Sadly, it does not appear to be possible to remove the git snapshots: https://stackoverflow.com/questions/45240336/how-to-use-github-release-api-to-make-a-release-without-source-code

I guess I'll have to just put an "No, I'm Spartacus!" label on the "real" source code release…I will leave this issue open to remind me to try that next time.

EdwinKM commented 1 year ago

Well....you tried. Maybe just a clear message in the ''readme.md'' will suffice.

rrthomas commented 1 year ago

I have tried to clarify README.md. This will be in a new release shortly.