SBo scripts not building on current (read 1st post, pls)
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Well, the patch written by Larry for the SBo script of qt5 modifies the qtwebengine source (actually Chromium sourcecode) to match the changes in mozilla-nss. Whereas the patch I linked to is how it has been solved in Qt, by the Qt developers themselves:
Code:
[PATCH] Use system NSS only for certificate handling
Compiling against NSS 3.23 fails with current Chromium. Also, with NSS
3.21 there are failures connecting to e.g. google.com.
Fix this by adapting the setup endorsed by upstream Chromium: BoringSSL
is always used for cryptography, and NSS only for certificate handlng.
Maybe best to put this in the the source-repository for slackbuilds and provide a link to that from the info-file as this program won't ever be upgraded for unix; the next version is only for mac/windows.
I'm afraid that's not possible: quoting from the README
Code:
NOTE!
This program is free, but you should REGISTER in order to get it.
This means you have to use a web browser to download the "source"
tarball.
if geospiza people require that, they have to provide the 1.3.1 tarball (and if they don't someone should complain directly to them): we cannot do like freecode (that seems not to care about it).
I'm afraid that's not possible: quoting from the README
Code:
NOTE!
This program is free, but you should REGISTER in order to get it.
This means you have to use a web browser to download the "source"
tarball.
if geospiza people require that, they have to provide the 1.3.1 tarball (and if they don't someone should complain directly to them): we cannot do like freecode (that seems not to care about it).
You're right; they still ship it themselves; I noticed after going through the registration motions (see png). But the Sbo script does not work as one would expect because of that.. you get a download error. Maybe the Sbo-script should explicitly put that README message as the output-error after not finding the source????? That would still keep things simple; but you might reply that one is always supposed to check the Readme, even for programs one is very familiar with.. Anyway, with the need to register for it, should it not go into /opt???
But the Sbo script does not work as one would expect because of that.. you get a download error. Maybe the Sbo-script should explicitly put that README message as the output-error after not finding the source?????
The script doesn't download anything. The script doesn't even know there's been an error. If you're using sbopkg, it's sbopkg that gives you that error. Maybe Willy would consider a patch. Other tools may handle it already, eg. I've taught slackrepo about the five packages to which this situation applies (Xyce, amd-app-sdk, jdk, finchtv, J-Link) and you get a nice message telling you what to do.
Quote:
Originally Posted by brobr
Anyway, with the need to register for it, should it not go into /opt???
That's not what /opt is for. Simply, /opt is for anything that can't easily be persuaded to use the conventional directories. Maybe it's the tendency for proprietary software to be 'special' that has misled you.
The script doesn't download anything. The script doesn't even know there's been an error.
Would inserting something like this
Code:
# Check for source archive availability
SOURCE="${PRGNAM}_${SRCVER}.tar.gz"
if ![ -f {$SOURCE} ]; then
# Source archive not present. Abort build
echo "Source archive '$(basename ${SOURCE})' not found. Did you register for the software and downloaded it yourself? Please check the Readme. Aborting the build."
exit -1
fi
just before un-tar-gz-ing the source not do the trick? One just have to make the slackbuild aware of this very possible error...
PS I basically nicked that bit from Simone Giustetti's iscan.Slackbuild
# Check for source archive availability
SOURCE="${PRGNAM}_${SRCVER}.tar.gz"
if ![ -f {$SOURCE} ]; then
# Source archive not present. Abort build
echo "Source archive '$(basename ${SOURCE})' not found. Did you register for the software and downloaded it yourself? Please check the Readme. Aborting the build."
exit -1
fi
just before un-tar-gz-ing the source not do the trick? One just have to make the slackbuild aware of this very possible error...
I think that is going away from what SlackBuilds are supposed to accomplish. They are designed to build a program from source that is locally on the machine. If that source isn't there, tar will complain and the SlackBuild will exit. I don't see any reason to complicate the scripts just because the way you get the source (which isn't accomplished with the script) is different from most. As 55020 mentioned, if a check were to be added, it would belong in sbopkg, not the SlackBuild itself.
Oh, I see, did I stumble on a sectarian issue; manualdownload-builders vs slackpackagers vs sbopkgers? All using the same scripts but somehow it's not the same in the end.... Anyway, I am not proposing this check for each SlackBuild for each package in all the versions of the repository; that would be silly; it's just that the combination of script and info-file (that both live in the same tar.gz) yield an error specific for this package (leaving out the ones 55020 mentioned), because of the way the source has to get retrieved, when combined with automatic downloading (is that specific for sbopkg only?? ).
What makes it wrong to adjust a slackbuild to make thinks work for a more general public as long as it does not affect the principle of building from source present on the machine? Why would a couple of extra lines that are not needed for home-downloaders be hurtful if it does not affect their method of compiling but could make it easier for someone else using a tool that automates this?? Is this not what maintainers can decide when they adjust build templates? I am just asking; I am all for pragmatics to make things work; principles are guides one might need to step away from when something different comes along..
I don't really see the point of doing that. One should be reading the README anyway even if they are using sbopkg or another script to automate the process. I'm not sure how sbopkg works, but in my own script that I use to manage SlackBuilds, I have an option to get the source from a local directory instead of downloading it from the url in the info file. That way, in cases like this you can still use it to build and install but skip the download without throwing an error. Maybe a similar option could be added to sbopkg if it doesn't already have it, but I agree that the SlackBuild is not the place to put such checks.
Last edited by montagdude; 05-13-2016 at 07:36 PM.
Oh, I see, did I stumble on a sectarian issue; manualdownload-builders vs slackpackagers vs sbopkgers? All using the same scripts but somehow it's not the same in the end.... Anyway, I am not proposing this check for each SlackBuild for each package in all the versions of the repository; that would be silly; it's just that the combination of script and info-file (that both live in the same tar.gz) yield an error specific for this package (leaving out the ones 55020 mentioned), because of the way the source has to get retrieved, when combined with automatic downloading (is that specific for sbopkg only?? ).
What makes it wrong to adjust a slackbuild to make thinks work for a more general public as long as it does not affect the principle of building from source present on the machine? Why would a couple of extra lines that are not needed for home-downloaders be hurtful if it does not affect their method of compiling but could make it easier for someone else using a tool that automates this?? Is this not what maintainers can decide when they adjust build templates? I am just asking; I am all for pragmatics to make things work; principles are guides one might need to step away from when something different comes along..
The thing that I think you aren't understanding is that the SlackBuilds are not meant for any portion of downloading the source, including checking if the source exists (although, that occurs as a byproduct of trying to extract the source, since it will fail if the source isn't there or isn't a proper archive). It is the job of something outside of the SlackBuild to ensure the download is there, either the automated builder (sbopkg, et al) or the person manually starting the download. With sbopkg, it shouldn't even attempt to run the SlackBuild, because the download won't be there, and it would've errorred out either during the download or during the MD5 check. The SlackBuild wouldn't even be accessed to run the little check you're proposing.
And if you are the one manually running it, it is on you to verify the download occurred and that the MD5 matches the .info file. In that case, it would still fail your checks before the SlackBuild is even run.
As others have mentioned, you should be reading the READMEs for each package before you attempt to build it. The package maintainers write those to ensure that the package builders (you) have all the information needed to properly compile the package.
To repeat, the realization that the download isn't correct should be found before the SlackBuild is even run, either by an automated script or by you.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.