[oi-dev] Openindiana hipster source code on OI servers to fulfill licensing requirements.

Nikola M minikola at gmail.com
Thu Oct 15 06:45:33 UTC 2015


On 10/15/15 07:09 AM, Jim Klimov wrote:
> On the converse side, git is relatively compact in comparison to tarballs. Given we have quite frequent builds of hipster that 'pkg update' is eager to download, storing gigabyt'ish tarballs can become prohibitive and impractical. Note we'd likely have to provide sources to third-party code (oi-userland) used for each release as well?
Of course. Every release has to have it's source visibly displayed and 
available
and it also can be done using GIT, yes with clear on-wiki instructions 
how to get them from OI servers, per package, per consolidation, per 
repository update/snapshot and per release.
That is also why having numbered updates ('entire' that locks both 
illumos and userland) is needed,
to also identify in the same manner the source that it came from.
Seems like GIT and having 'entire for every update' could be used for 
all that with not much effort and that source archives could be put into 
servers only for major releases.
> I think tags on the repo added for each released build should suffice.
That is true.  Just repo with full source before build should be on OI 
servers before building starts and available, so it could be easily 
tagged and available and that's it.
It is not Ok to just point to external archive source for source code on 
packages, let's mature.
It doesn't matter if front work is done on GIT from OI servers or 
Github, it is just important to replicate changes to OI GIT servers 
before building and publishing binaries.
> Are there 'source packages' in pkg(5) like there are for many other packaging systems?
This is a good question. Answer is that many packages in oi-userland 
started to provide separate package with sources, but that was 
abandoned, putting just external upstream source link and patches in 
git. That needs to change in a sense that also git is available on OI 
servers together with source form upstream.
You are on the right track, it could be done that way, to have sources 
also in packages beside binaries when publishing changes, but is not the 
only way to go, Git on OI server that includes upstream source and Git 
changes (and final source beforge megor releases) can be ebough.
> Perhaps, maintaining a pkg-repo of those for public revision (or even generating them and building binaries really from them) is a more useable way of providing the versioned sources to bits of each release (and on the backend, probably a lot from these weekly versions would be dedup'able). And there should be a package with the build procedure resources, as that bit also evolves and is needed to rebuild an exact copy (or as close as one can get).
It is definatevly a posibility it is just important that sources and 
binaries have same tags to be able to identify and get them synchronously.
If all packages are able to be installed from same binaries at the exact 
moment (that is what 'entire' for whole distro should provide and 
appropriate tags on sources) then you will have the exactly same 
environment that made that binary package and you will get the same 
binary package.

If thinking of building same binary on older build , while running newer 
OS, that could be made in branded zone. (don't think it could easily be 
done with packages only because of dependencies)
Generating branded zone is viable for only major releases and OI is not 
there yet, but sooner or later it will be (to be able to be supported 
and used in production).





More information about the oi-dev mailing list