RubyLane / parse_args

A fast argument parser based on the patterns established by core Tcl commands like [lsort], [lsearch], [glob], [regex], etc.
Other
8 stars 5 forks source link

Tagged release cannot be 'untarred' #6

Open bandoti opened 8 months ago

bandoti commented 8 months ago

When trying to extract the released tar file, it fails as follows:

+ gzip -dc ./parse_args-0.5.1.tar.gz
+ tar -xf -
tar: parse_args-0.5.1/bench/run.tcl: Cannot create symlink to ‘../teabase/run_bench.tcl’: No such file or directory
tar: parse_args-0.5.1/generic/tclstuff.h: Cannot create symlink to ‘../teabase/tclstuff.h’: No such file or directory
tar: parse_args-0.5.1/generic/tip445.h: Cannot create symlink to ‘../teabase/tip445.h’: No such file or directory
tar: Exiting with failure status due to previous errors

It appears as though it is an issue with the sub-module files missing. Should they be bundled together for the tar/zip release?

cyanogilvie commented 8 months ago

Did you clone the recursive git submodules?

The version tags are just tags, not releases, you still need the submodules to be able to build the package.

bandoti commented 8 months ago

Apologies I should have added more context here. What I attempted before was to pull down the tarball as though it is the product of a make dist sort of behavior, packaging all sources together. However, after doing some research it looks like Github tags do not package the sub-modules—just whatever is in the repo.

I was working on adding the parse_args module to kitcreator and the default action is to pull a bundled source archive. However, I modified the new build script to use git and recursively clone. 😊

It seems like there is a way to do this with custom Github actions as part of the test/release cycle—but for now I am okay simply cloning directly from Github.

cyanogilvie commented 8 months ago

There is a way with github actions, doing a make dist, creating a github release and uploading the make dist artifact. I've been working on it for https://github.com/cyanogilvie/tcl-tomcrypt and it's getting there. Will need a bit of work to bring parse_args up to speed though, I don't even think its make dist really works yet.

On Thu, Jan 18, 2024 at 10:16 PM bandoti @.***> wrote:

Apologies I should have added more context here. What I attempted before was to pull down the tarball as though it is the product of a make dist sort of behavior, packaging all sources together. However, after doing some research it looks like the default Github tags do not package the sub-modules—just whatever is in the repo.

I was working on adding the parse_args module to kitcreator and the default action is to pull a bundled source archive. However, I modified the new build script https://github.com/bandoti/kitcreator/blob/master/parse_args/build.sh to use git and recursively clone. 😊

It seems like there is a way to do this with custom Github actions as part of the test/release cycle—but for now I am okay simply cloning directly from Github.

— Reply to this email directly, view it on GitHub https://github.com/RubyLane/parse_args/issues/6#issuecomment-1899143354, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZHPTHAZOSEXBXO4GE3OU3YPF7K5AVCNFSM6AAAAABB7Q4SA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJZGE2DGMZVGQ . You are receiving this because you commented.Message ID: @.***>

bandoti commented 8 months ago

Do you know what initial steps would be required for parse_args? If time permits I can try to add the sources together in the Makefile.in and try to add a distcheck target for testing. But if you'd like to wait and add common functionality from tcl-tomcrypt I wouldn't want to step on your shoes there.

I am working on getting the tdk and teapot repositories packaged into standalone executables (almost finished there). Part of that work I split submodules for the tbcload, tclcompiler, and tclparser. I will likely have to follow suit and add similar dist targets.

cyanogilvie commented 8 months ago

If you want to take a shot at it feel free, pull requests welcome :)

The TEA machinery used in parse_args is very similar to tcl-tomcrypt, just older because I haven't worked on it as recently. If I were to have a go at it now (unfortunately I can't at the moment - work production crises take precedence), the steps I would expect to make it work would be:

Good luck!

On Thu, Jan 18, 2024 at 10:39 PM bandoti @.***> wrote:

Do you know what initial steps would be required for parse_args? If time permits I can try to add the sources together in the Makefile.in and try to add a distcheck target for testing. But if you'd like to wait and add common functionality from tcl-tomcrypt I wouldn't want to step on your shoes there.

— Reply to this email directly, view it on GitHub https://github.com/RubyLane/parse_args/issues/6#issuecomment-1899170488, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZHPTFSKMJRVUTKJU77C33YPGB6LAVCNFSM6AAAAABB7Q4SA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJZGE3TANBYHA . You are receiving this because you commented.Message ID: @.***>

bandoti commented 8 months ago

Okay sounds good—I'll post an update here when I make progress. Thanks.

bandoti commented 7 months ago

I haven't forgotten about this! Just working on wrapping up some other tasks and I will be back on it shortly. :)