[Slackbuilds-users] Question re: slackbuild script

David Spencer baildon.research at googlemail.com
Thu Jun 2 18:58:47 UTC 2016


> I tried the advice from a previous email and here is how it looks.
>
> wget https://github.com/koct9i/ioping/archive/0.9/ioping-0.9.tar.gz
> --2016-06-02 13:45:25--
> https://github.com/koct9i/ioping/archive/0.9/ioping-0.9.tar.gz
> Resolving github.com (github.com)... 192.30.252.123
> Connecting to github.com (github.com)|192.30.252.123|:443... connected.
> HTTP request sent, awaiting response... 302 Found
> Location: https://codeload.github.com/koct9i/ioping/tar.gz/0.9/ioping-0.9
> [following]
> --2016-06-02 13:45:25--
> https://codeload.github.com/koct9i/ioping/tar.gz/0.9/ioping-0.9
> Resolving codeload.github.com (codeload.github.com)... 192.30.252.160
> Connecting to codeload.github.com
> (codeload.github.com)|192.30.252.160|:443... connected.
> HTTP request sent, awaiting response... 404 Not Found
> 2016-06-02 13:45:26 ERROR 404: Not Found.

Hi Bryan, since I wrote the previous advice we have found some more
details and special cases, and this is one of those special cases, and
it needs quite a long explanation. Sorry!

The general form for a github download is

https://github.com/koct9i/<RRRR>/archive/<XXXX>/<RRRR>-<YYYY>.tar.gz

<RRRR> is the repository name (in your case 'ioping'), ideally the
same as the SlackBuild PRGNAM

<XXXX> can be one of two things: ideally a "git tag", or if necessary
a "git commit" (short commit id is ok)

The git tag can be got by looking at the 'releases' page
https://github.com/koct9i/ioping/releases or the 'tags' page
https://github.com/koct9i/ioping/tags to see what tags they have
created. In your case the tag is 'v0.9' (note the 'v', you can't omit
the 'v')

<YYYY> can be one of two things: a version number derived from the git
tag, or a full length git commit.

This is where the new details become important. Lots of projects like
to prefix the 'git tag' (what we would call the version number) with
v, and apparently ioping is one of those projects.  But because the
'v' looks silly in a version number, Github's download handler
apparently has some code to remove 'v' from the start of the version
number, if present.  Otherwise if the tag is *not* a number that
starts with a v, then Github just uses the git tag. [please see
footnote!]

So the VERSION and DOWNLOAD that you want are

VERSION="0.9"
DOWNLOAD="https://github.com/koct9i/ioping/archive/v0.9/ioping-0.9.tar.gz"

If you look inside ioping-0.9.tar.gz you will see that the top level
directory is named ioping-0.9 (this is good, because it looks just
like a traditional tar.gz source archive).

Therefore the commands you want inside the SlackBuild are

rm -rf $PRGNAM-$VERSION
tar xvf $PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION

Note that "$PRGNAM-$VERSION" must (almost always) be exactly the same
in all three commands!

Hope this is clear -- I'm going to have to cover the "git-commit" case
in a reply to the other email from Arthur.
Best regards
-D.

[FOOTNOTE] In my previous email I wrote that stupid-stupid-projects
that prefix their tags with the project name don't need special code.
This is *wrong*.  I accidentally chose a project that creates two sets
of tags... anyway, I'll have to write another email about that, too.


More information about the SlackBuilds-users mailing list