-
kahlemt
Trying to get my head around how SmartOS packages the software that I use when I install something in a SmartOS zone. Where do I find the "SmartOS" specific flags and options that were used when creating the binary?
-
kahlemt
For instance I setup a build environment/sandbox using the documentation provided on the Triton pkgsrc docs. I was looking at OpenJDK21 lang/openjdk21 and I see various files, but I'm not understanding how/where this will grab the source, patch it with SmartOS (Illumos) specific patches, etc.
-
rmustacc
Been a while since i've been in this, but basically I think this is all just using the extent framework in pkgsrc:
netbsd.org/docs/pkgsrc.
-
rmustacc
So I think
netbsd.org/docs/pkgsrc/build.html discusses how it goes through and applies patches and fetches source.
-
rmustacc
I think the makefiles in the packages and the make snippets will look at things and adjust them based upon uname and related features.
-
kahlemt
Yes, I found that in the documentation. What I'm wondering (or more likely misunderstanding) is where are the patches used to build the version that is currently on pkgsrc? So I'm assuming that I should be able to do into one of those directories and simply build it and out should pop out a binary that I can install that would be identical to the one that I install when running pkgin in
-
kahlemt
openjkd21. But instead I get errors that won't allow me to compile. So how did this package get compiled, the one anyone who installed it on SmartOS is using.
-
kahlemt
I hope that made sense.
-
rmustacc
Are you using the pkgsrc sandbox stuff that jperkin wrote up?
-
kahlemt
Yes.
-
rmustacc
OK, then unfortunately that's beyond my knowledge / memory.
-
kahlemt
I see. Thanks for chiming in anyway. :)
-
kahlemt
Didn't expect anything on a Sunday.
-
rmustacc
In the past when I was doing test bulk builds, I used the pkgbuild image and followed the steps and it mostly worked.
-
rmustacc
I don't remember how well it handled building deps or not, since I was mostly doing a single bulk build.
-
rmustacc
Also, are you using the pkgsrc-joyent variants?
-
rmustacc
I suspect openjdk that is being built may be coming from there, but I'm not sure these days.]
-
kahlemt
No. I'm using lang/openjkd21. The joyent/openjdk directory only contains 7-17.
-
kahlemt
What I find strange is that when I run bmake I see:
-
kahlemt
-> bmake
-
kahlemt
=> Bootstrap dependency digest>=20211023: NOT found
-
kahlemt
=> Verifying bin-install for ../../pkgtools/digest
-
kahlemt
===> Binary install for digest>=20211023
-
kahlemt
=> Installing digest>=20211023 from /data/packages/SmartOS/trunk/x86_64/All;
0.0.0.0:8080/packages/SmartOS/trunk/x86_64//All
-
kahlemt
digest-20220214 successfully installed.
-
kahlemt
=> Returning to build of openjdk21-1.21.0.1.12nb1
-
kahlemt
ERROR: This package is only available for these platforms: NetBSD-*-i386 NetBSD-*-x86_64 NetBSD-*-aarch64.
-
kahlemt
ERROR: This package has set PKG_SKIP_REASON:
-
kahlemt
ERROR: openjdk21-1.21.0.1.12nb1 is not available for SunOS-5.11-x86_64
-
kahlemt
*** Error code 255
-
kahlemt
Stop.
-
kahlemt
bmake: stopped in /data/pkgsrc/lang/openjdk21
-
kahlemt
This tells me that none of the solaris* specific patches are installed. But why would that be the case for the one I'm running currently? It should compile given that this is the version I'm currently running.
-
bahamat
kahlemt: Your best bet is to talk to jperkin, but I believe he's on vacation. But if there's a package already in the repo, why not use that one?
-
bahamat
It's in both base-64-lts⊙24 and base-64-trunk.
-
kahlemt
I believe that you are correct. I believe it was he that told me a few days ago he would be looking into refreshing the openjdk21 in a week or so because he would be gone. The package that is there currently does not work properly with the latest minecraft jar that is out there... and it requires openjdk21 or newer.
-
kahlemt
The reason I'm looking into this is simply out of curiosity. I haven't built any software on SmartOS as I am just learning about this OS so I thought I'd get my hands dirty.
-
kahlemt
After further digging I did find that the package that is there is not in lang/openjkd21 it is in extra/openjdk21. Now when I run bmake from that directory things are chugging away. So that solves the mystery from before. I don't really understand how SmartOS packages are built, so this is my way of exploring this.