[OpenIndiana-discuss] libjpeg-turbo transition status

Tim Mooney Tim.Mooney at ndsu.edu
Wed Mar 8 22:19:45 UTC 2017


In regard to: [OpenIndiana-discuss] libjpeg-turbo transition status,...:

> I added a page on the Wiki to track the progress:
>
> https://wiki.openindiana.org/oi/JPEG+8

Good, that will be easier to update as various people tackle individual
components.

Would you like me to add a column to that table for the URL for the
github pull request, or is that not useful?

> Whenever one of the packages listed is updated, it should be recompiled
> against the new default library.

For anyone that's interested in tackling one of these, I've primarily
been relying on the following documents:

1) http://docs.openindiana.org/dev/userland/

2) The older wiki doc that covers a lot of the same stuff:

https://wiki.openindiana.org/oi/Building+with+oi-userland

but only for some of the additional information (like the
REQUIRED_PACKAGES target) that hasn't yet made it into the userland doc
from #1.

3) Aurélien's git workflow notes:

http://hub.openindiana.ninja/?q=content/git-workflow

When everything goes right with the pull request, you only need the info
from the userland doc (#1, above), it's only when there's something
"strange" to do with git that I've used info from document #3.


Once you understand the development/git/github workflow, the *general*
process for these components is

1) be sure you bump the number for the COMPONENT_REVISION (should be in
the Makefile)

2) add whatever flags are necessary to get the component to compile
and link with libjpeg8-turbo.  For the configure-based packages I've
tried so far, that's something like

CFLAGS           += $(JPEG_CPPFLAGS) $(JPEG_CFLAGS)
CXXFLAGS         += $(JPEG_CPPFLAGS) $(JPEG_CXXFLAGS)
LDFLAGS          += $(JPEG_LDFLAGS)

There will definitely be components where that won't work or won't be
enough, but it's the first thing to try for configure-based ones.

3) build, test, install on your devel box, and ensure that "ldd" shows
that the binaries from your updated package are linked against
libjpeg8-turbo, rather than just libjpeg.

4) update the REQUIRED_PACKAGES setting in the Makefile to specify that
image/library/$(JPEG_IMPLEM) is a dependency.  If there are no
REQUIRED_PACKAGES lines in the Makefile, read the wiki doc (#2) about
the REQUIRED_PACKAGES Makefile target.

5) submit your pull request as documented in the development workflow
and wait for feedback.  Early pull requests from me, like this one:

 	https://github.com/OpenIndiana/oi-userland/pull/2797

generated more feedback and I needed to make more changes based on
feedback Alexander & Aurélien's comments.  Later pull requests, like
this one:

 	https://github.com/OpenIndiana/oi-userland/pull/2832

went more smoothly.

Only very few of the components have been completed so far and I'm
certainly not getting to them very quickly, so the more people that 
give it a try, the faster this will be completed.

Tim
-- 
Tim Mooney                                             Tim.Mooney at ndsu.edu
Enterprise Computing & Infrastructure                  701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building                  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164


More information about the openindiana-discuss mailing list