Project

General

Profile

Actions

Feature #14295

closed

Allow shipping an additional libbe_py

Added by Andy Fiddaman 8 months ago. Updated 7 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:

Description

When an IPS distribution is migrating between versions of python, it becomes difficult to maintain a working pkg due to the dependency on gate's python libbe module.
It's currently only possible to build a single python 3 version of the module from gate, and allowing for a second would make this migration process easier.

Actions #1

Updated by Electric Monk 8 months ago

  • Gerrit CR set to 1848
Actions #2

Updated by Andy Fiddaman 8 months ago

I've tested this by doing builds on various systems with various combinations of python options:

  • OmniOS r151040, with python 3.9 only
  • OmniOS bloody with python 3.10 only
  • OmniOS bloody with python 3.10 and setting 3.9 as the alternate version.
  • OpenIndiana with python 3.5 only
$ pkgrepo -s packages/i386/nightly/repo.redist list | grep bbe
on-nightly system/library/python/libbe-27                  0.5.11-9999.99.0.0:20211208T164223Z
on-nightly system/library/python/libbe-35                  0.5.11-9999.99.0.0:20211208T164223Z
  • OpenIndiana with BUILDPY3b= in the .env file
$ pkgrepo -s packages/i386/nightly/repo.redist list | grep bbe
on-nightly system/library/python/libbe-27                  0.5.11-9999.99.0.0:20211209T111521Z
on-nightly system/library/python/libbe-35                  0.5.11-9999.99.0.0:20211209T111521Z
on-nightly system/library/python/libbe-39                  0.5.11-9999.99.0.0:20211209T111522Z

$ pkg contents -g packages/i386/nightly/repo.redist libbe-35
PATH
usr
usr/lib
usr/lib/python3.5
usr/lib/python3.5/vendor-packages
usr/lib/python3.5/vendor-packages/libbe_py.so

$ pkg contents -g packages/i386/nightly/repo.redist libbe-39
PATH
usr
usr/lib
usr/lib/python3.9
usr/lib/python3.9/vendor-packages
usr/lib/python3.9/vendor-packages/libbe_py.so
$ pkg contents -g packages/i386/nightly/repo.redist solaris-35
PATH
usr
usr/lib
usr/lib/python3.5
usr/lib/python3.5/vendor-packages
usr/lib/python3.5/vendor-packages/solaris
usr/lib/python3.5/vendor-packages/solaris/__init__.py
usr/lib/python3.5/vendor-packages/solaris/__pycache__
usr/lib/python3.5/vendor-packages/solaris/__pycache__/__init__.cpython-35.pyc
usr/lib/python3.5/vendor-packages/solaris/misc.so

$ pkg contents -g packages/i386/nightly/repo.redist solaris-39
PATH
usr
usr/lib
usr/lib/python3.9
usr/lib/python3.9/vendor-packages
usr/lib/python3.9/vendor-packages/solaris
usr/lib/python3.9/vendor-packages/solaris/__init__.py
usr/lib/python3.9/vendor-packages/solaris/__pycache__
usr/lib/python3.9/vendor-packages/solaris/__pycache__/__init__.cpython-39.pyc
usr/lib/python3.9/vendor-packages/solaris/misc.so

On OpenIndiana, there's a warning from building with python 3.9, but that's not related to this change:

==== Check ELF runtime attributes ====

usr/lib/python3.9/vendor-packages/libbe_py.so:  unused search path=/usr/gnu/lib/amd64  (RUNPATH/RPATH from file /usr/lib/64/libncurses.so.5)    <remove search path?>
usr/lib/python3.9/vendor-packages/solaris/misc.so:      unused search path=/usr/gnu/lib/amd64  (RUNPATH/RPATH from file /usr/lib/64/libncurses.so.5)    <remove search path?>
usr/lib/python3.9/vendor-packages/zfs/ioctl.so:         unused search path=/usr/gnu/lib/amd64  (RUNPATH/RPATH from file /usr/lib/64/libncurses.so.5)    <remove search path?>
Actions #3

Updated by Electric Monk 7 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit 45ede40b2394db7967e59f19288fae9b62efd4aa

commit  45ede40b2394db7967e59f19288fae9b62efd4aa
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
Date:   2022-01-04T23:16:29.000Z

    14295 Allow shipping an additional libbe_py
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Robert Mustacchi <rm@fingolfin.org>

Actions

Also available in: Atom PDF