NewsFlash - Openindiana Hipster Support starts

  • Posted on: 7 August 2015
  • By: tomww

Update 20150908: the repo with experimental LibreOffice is online: http://sfe.opencsw.org/localhostoih

NewsFlash: OpenIndiana Hipster support starts. Though a bit challenging, Hipster gets support in SFE now. The challenge is, that Hipster stopped using Solaris Studio compilers. That means, every distro provided C++ library is now only usable with the GCC compiler. That breaks a lot spec files which are written for the default compiler Solaris Studio.
Well, we try to follow, but *no* promise that your favourite SFE package will be available any time soon. Furtunatly, there are a large number of packages which just compile fine with gcc and/or just don't contain C++ library calls.
Fortunatly in SFE there are workarounds availabe, PNM_Macros and smart and busy maintainers who will work hard to get Hipster work with SFE ... stay tuned.
Only, Hipster duplicated a lot of packages we already have in SFE. That will open another can of troubles (see the above how we'll try to handle this).
News on Hipster <-> SFE related things will be written here and you'll see SVN commits.

Comments

predrag.zecevic's picture

Hi Thomas,

Thanks for /hipster SFE repository set-up (http://wiki.openindiana.org/oi/Spec+Files+Extra+Repository)!

So, I was keen to test it - /localhostoi151a8 was replaced with /localhostoih:

$ pkg publisher -n
PUBLISHER TYPE STATUS P LOCATION
openindiana.org origin online F http://pkg.openindiana.org/hipster-2015/
localhostoih origin online F http://sfe.opencsw.org/localhostoih/

When I tried to do update, got this problem:

$ pfexec pkg update -nv
...
sfe -> localhostoih
sfe/system/library/gcc-runtime
4.6.4-0.151.1.8 -> 4.8.5-0.0.151.1.8

pkg update: The following packages all deliver file actions to usr/gcc/4.8/lib/amd64/libgcc_s.so.1:

pkg://localhostoih/sfe/system/library/gcc-48-runtime@4.8.5,5.11-0.0.151.1.8:20150810T002025Z
pkg://openindiana.org/developer/gcc-48@4.8.5,5.11-2015.0.1.0:20150626T225710Z

These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.
...
---8<---

and plenty other files, all with same error.

So, removed OI gcc-48:
$ pfexec pkg uninstall -v developer/gcc-48 developer/clang-3.4
Packages to remove: 2
Packages to change: 1
Mediators to change: 2
Services to change: 1
Estimated space available: 72.60 GB
Estimated space to be consumed: 120.68 MB
Create boot environment: No
Create backup boot environment: Yes
Rebuild boot archive: No

Changed mediators:
mediator clang:
version: 3.4 (system default) -> None

mediator gcc:
version: 4.8 (system default) -> 4.7 (system default)
...

And was able to finish update w/o problems! :-)

Not sure if this overlapping of binaries/files/libraries can be solved in better way than I did it (I can always add SFE gcc version: sfe/developer/gcc-48, no big deal)?

Many thanks for updates and hard work!

Also, installed LibreOffice :-)

With best regards/Mit freundlichen Grüßen.

Hi Predrag,

yes, currently it is the recommended way to leave the osdistro's gcc runtime package installed (containing /usr/lib/libgcc_s.so and /usr/lib/libstdc++.so.6)
but uninstall the osdistro's gcc compiler package.

As not all the various osdistro provide a pkg mediator to manage which gcc should be in the search PATH, we have no other easy way to solve co-existence of our desired+patched GCC package from SFE co-exist with the osdistro provided GCC package.

Regards,
Thomas

predrag.zecevic's picture

Hi Thomas,

Thanks for /hipster SFE repository set-up (http://wiki.openindiana.org/oi/Spec+Files+Extra+Repository)!

So, I was keen to test it - /localhostoi151a8 was replaced with /localhostoih:

$ pkg publisher -n
PUBLISHER TYPE STATUS P LOCATION
openindiana.org origin online F http://pkg.openindiana.org/hipster-2015/
localhostoih origin online F http://sfe.opencsw.org/localhostoih/

When I tried to do update, got this problem:

$ pfexec pkg update -nv
...
sfe -> localhostoih
sfe/system/library/gcc-runtime
4.6.4-0.151.1.8 -> 4.8.5-0.0.151.1.8

pkg update: The following packages all deliver file actions to usr/gcc/4.8/lib/amd64/libgcc_s.so.1:

pkg://localhostoih/sfe/system/library/gcc-48-runtime@4.8.5,5.11-0.0.151.1.8:20150810T002025Z
pkg://openindiana.org/developer/gcc-48@4.8.5,5.11-2015.0.1.0:20150626T225710Z

These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.
...
---8<---

and plenty other files, all with same error.

So, removed OI gcc-48:
$ pfexec pkg uninstall -v developer/gcc-48 developer/clang-3.4
Packages to remove: 2
Packages to change: 1
Mediators to change: 2
Services to change: 1
Estimated space available: 72.60 GB
Estimated space to be consumed: 120.68 MB
Create boot environment: No
Create backup boot environment: Yes
Rebuild boot archive: No

Changed mediators:
mediator clang:
version: 3.4 (system default) -> None

mediator gcc:
version: 4.8 (system default) -> 4.7 (system default)
...

And was able to finish update w/o problems! :-)

Not sure if this overlapping of binaries/files/libraries can be solved in better way than I did it (I can always add SFE gcc version: sfe/developer/gcc-48, no big deal)?

Many thanks for updates and hard work!

Also, installed LibreOffice :-)

With best regards/Mit freundlichen Grüßen.

predrag.zecevic's picture

Hi Thomas,

sorry for duplicate post (wasn't me, but very unstable sfe.opencsw,org today).

I would like to mention package naming: should be more /hipster like, not like on oi151a8/a9:

Changed packages:
localhostoih
sfe/developer/gcc-48
None -> 4.8.5-0.0.151.1.8
sfe/system/library/gcc-48-runtime
None -> 4.8.5-0.0.151.1.8

Might look like:

Changed packages:
localhostoih
sfe/developer/gcc-48
None -> 4.8.5-2015.0.1.0
sfe/system/library/gcc-48-runtime
None -> 4.8.5-2015.0.1.0

That is just cosmetcal issue.

With best regards/Mit freundlichen Grüßen.

Hi Predrag,

currently there is no special osdistro version numbering for the 1:1 copy of the compiled IPS-repository from the build machines.

There is not yet a final plan, but I have a task waiting to create a "promotion" process for those fresh compiled packages to a release kind repository. At latest when a new and fully public release repo gets created, then there will/should be a "pkgmogrify" ruleset which looks for exactly getting user-readable osdistro version numbers(strings) like the ones you have mentioned.
That way we can feed whatever version string a built pacakge has to the release repo, and all looks like expected: e.g. 4.8.5-2015.0.1.0
If there is an additional release repo for a different osdistro like OIHipster-2015.0.2 or so, then the pkgmogrify rule would make an extra copy of the package with that new number 2015.0.2

So to me, the main task looks like defining how such a promotion from the pure build results to a less frequently breaking "release" repository. That promotion step looks like a good place to set the versions to me.

If someone wants to put together some textual description of that promotion process, that would be really welcomed. Somewhere the text there should be explained as well, what the reason or value for each of the special steps should be. For instance a package gets promoted if +3 people had a lightwight test of the fresh package, or a senior developer did a safe updated to a package, then the package and its dependencies get automaticly promoted to the release repo. All ideas are welcome!

Best Regards,
Thomas