Re: [Slackbuilds-users] Deal with source that requires submodules
On Fri, 29 Jul 2022, Christoph Willing wrote: Although there's an easy solution in this particular case, I would be interested in hearing of a more general solution for cases where there is no such additional tarball available. I maintain another SlackBuild which has exactly the same problem. My solution so far has been to locally checkout the commit which corresponds to the (incomplete) release tarball. Then I pull in the required submodules and generate a new (complete) tarball which I host at slackbuildsdirectlinks, from where can be used as a single download for the SlackBuild. While that's a workable solution, I would definitely be interested in alternatives. That's what I do, too: generate and host a tarball. Generally there's a git2tarxz.sh script in the directory with the SlackBuild (in SBo git, so it won't get lost). ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/
Re: [Slackbuilds-users] Deal with source that requires submodules
On Thu, Jul 28, 2022, 4:39 PM Christoph Willing wrote: > On 29/7/22 04:11, Heinz Wiesinger wrote: > > On Thursday, 28 July 2022 20:08:02 CEST Wen-Wei Kao wrote: > >> Hello, > >> > >> Recently while writing SlackBuilds, there is a particular package > (https:// > >> github.com/fcitx/libime) that requires a submodule pulled in before > >> compiling, but the Github release tags' sources don't have it included. > >> What are the recommended ways to deal with this? Should I mark both as > >> assets in the .info file, and decompress them in appropriate places? > TIA. > > > > There's a second source tarball :) > > > > https://download.fcitx-im.org/fcitx5/libime/libime-1.0.13_dict.tar.xz > > > > Notice the "_dict" at the end. That one shouldn't need any external > additions. > > > > Although there's an easy solution in this particular case, I would be > interested in hearing of a more general solution for cases where there > is no such additional tarball available. > > I maintain another SlackBuild which has exactly the same problem. My > solution so far has been to locally checkout the commit which > corresponds to the (incomplete) release tarball. Then I pull in the > required submodules and generate a new (complete) tarball which I host > at slackbuildsdirectlinks, from where can be used as a single download > for the SlackBuild. > > While that's a workable solution, I would definitely be interested in > alternatives. > > chris In the few SlackBuilds I've had that used git submodules, I'll just view the .gitmodules file and use some bash to extract the modules' repos and see where the extracted source belongs. That .gitmodules file will let you know if it is based on the master branch or a specific tag/version/commit. If it's the master branch, then I'll go through and find the commit ID I want to download and add it to the PRGNAM.info download section. If it's a specific version, I'll sometimes use bash to generate my download links, other times, I'll just manually do it (it depends on how many downloads there end up being). Sometimes you'll luck out and all the submodules belong in the same folder as their own subfolder. In that case, you can simply extract all the submodules to the same directory with a wildcard, otherwise you need to manually add specific lines in the SlackBuild for each. One of mine, redeclipse, has 38 submodules, so I actually created a separate submodule file that the SlackBuild references to know what tarballs to extract. Since the versions aren't used in the folder name when properly placed, I don't worry about what the files are called and just use a wildcard for the version. Unfortunately, it seems I was dumb and just had all the generated information done by a piped together command that I didn't save. Apparently, I'm a glutton for punishment when it needs to be updated. https://slackbuilds.org/repository/15.0/games/redeclipse/ https://slackbuilds.org/repository/14.2/games/glPortal/ (haven't had time to get this to work on 15.0 yet) In the case of the OP's situation, they could just add https://github.com/kpu/kenlm/archive/bcd4af6/kenlm-bcd4af619a2fa45f5876d8855f7876cc09f663af.tar.gz to the DOWNLOAD in the .info with its corresponding MD5SUM and then add something like the following into the SlackBuild: KENVER=${KENVER:-bcd4af619a2fa45f5876d8855f7876cc09f663af} (extract main source) rm -r src/libime/core/kenlm tar xvf $CWD/kenlm-$KENVER.tar.gz mv kenlm-$KENVER src/libime/core/kenlm And then continue the build. Jeremy ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/
Re: [Slackbuilds-users] Deal with source that requires submodules
On 29/7/22 04:11, Heinz Wiesinger wrote: > On Thursday, 28 July 2022 20:08:02 CEST Wen-Wei Kao wrote: >> Hello, >> >> Recently while writing SlackBuilds, there is a particular package (https:// >> github.com/fcitx/libime) that requires a submodule pulled in before >> compiling, but the Github release tags' sources don't have it included. >> What are the recommended ways to deal with this? Should I mark both as >> assets in the .info file, and decompress them in appropriate places? TIA. > > There's a second source tarball :) > > https://download.fcitx-im.org/fcitx5/libime/libime-1.0.13_dict.tar.xz > > Notice the "_dict" at the end. That one shouldn't need any external additions. > Although there's an easy solution in this particular case, I would be interested in hearing of a more general solution for cases where there is no such additional tarball available. I maintain another SlackBuild which has exactly the same problem. My solution so far has been to locally checkout the commit which corresponds to the (incomplete) release tarball. Then I pull in the required submodules and generate a new (complete) tarball which I host at slackbuildsdirectlinks, from where can be used as a single download for the SlackBuild. While that's a workable solution, I would definitely be interested in alternatives. chris ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/
Re: [Slackbuilds-users] Deal with source that requires submodules
On Thursday, 28 July 2022 20:08:02 CEST Wen-Wei Kao wrote: > Hello, > > Recently while writing SlackBuilds, there is a particular package (https:// > github.com/fcitx/libime) that requires a submodule pulled in before > compiling, but the Github release tags' sources don't have it included. > What are the recommended ways to deal with this? Should I mark both as > assets in the .info file, and decompress them in appropriate places? TIA. There's a second source tarball :) https://download.fcitx-im.org/fcitx5/libime/libime-1.0.13_dict.tar.xz Notice the "_dict" at the end. That one shouldn't need any external additions. Grs, Heinz signature.asc Description: This is a digitally signed message part. ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/
[Slackbuilds-users] Deal with source that requires submodules
Hello, Recently while writing SlackBuilds, there is a particular package (https:// github.com/fcitx/libime) that requires a submodule pulled in before compiling, but the Github release tags' sources don't have it included. What are the recommended ways to deal with this? Should I mark both as assets in the .info file, and decompress them in appropriate places? TIA. Best regards, Wen-Wei Kao (ltlnx) ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/