site  contact  subhomenews

Precise: libicu48, Python

October 21, 2012 — BarryK
Getting the PPM to work flawlessly with the Ubuntu repositories is a work-in-progress.

I tested installing the 'scribus' package, and after installation ran "scribus" in a terminal window. It reported 'libicui18n.so.48' missing, and a quick check at packages.ubuntu.com showed that package 'libicu48' is required.

The problem is, the Ubuntu package database for 'scribus' does not show 'libicu48' as a needed dependency. Unfortunately, the Debian and Ubuntu package databases do not always show correct dependencies -- sometimes they show a dependency that actually does not exist, or they miss out a needed dependency.

In the case of libicu48, the scribus developers probably never realised the oversight as libicu48 is likely in all builds of Ubuntu. It is only in a cut-down distro such as Puppy that the oversight shows up.

So, I decided to add 'libicu48' inbuilt to Precise Puppy. I am grumbling about this, as the package is about 8MB. It is needed by webkit, midori, etc, so I suppose has some usefulness being pre-installed.

Then there is Python. Scribus needs Python, but we build Puppy with Python in the 'devx' SFS.
Scribus will not run unless the 'devx' is loaded.
I need an elegant solution to this, but will do that after Precise 5.4-final is released -- for now, will advise users to load the 'devx' for any apps that need Python.

Comments

PPM: deps checking
Username: BarryK
Note, the PPM follows the dependency tree. That is, it will look at the deps of scribus, then at the deps-of-the-deps, etc., down many levels until all missing deps are found. In the case of scribus, libicu48 was not found in any of the levels.

python paths
Username: 666philb
"speaking of python, python in lucid puppy was a bit of a nightmare. if you saw a python module in the dependencies you would avoid it as in 90% of cases it wouldn't work. i would like things to be different in precise. as an example: install pybik (fun:precise universe) from the ppm. one of the dependencies is 'python-opengl' which is found and installed. however when you try to run pybik you get 'ImportError: No module named OpenGL' is the python-opengl module being installed to a place that puppies python isn't looking? it being a path problem? python module errors like this where numerous on lucid puppy, and it would be nice if precise could be better than lucid in this regard.

libicu will be noticed when compiling
Username: pemasu
"When you include libicu inbuild to the build...and you compile stuff which sniff libicu if installed, it will become required dependency....at least with my skills. For example Qt sniffs libicu and I couldnt find a way to disable it. Only way what to have base sfs without libicu... I recall couple of other apps which did the same. Probably Deadbeef was one of them. Libicu sniffer I mean. Just my humble observation. I could be wrong also...

libicu will be noticed when compiling
Username: pemasu
"When you include libicu inbuild to the build...and you compile stuff which sniff libicu if installed, it will become required dependency....at least with my skills. For example Qt sniffs libicu and I couldnt find a way to disable it. Only way what to have base sfs without libicu... I recall couple of other apps which did the same. Probably Deadbeef was one of them. Libicu sniffer I mean. Just my humble observation. I could be wrong also...

gtk3
Username: technosaurus
"another fyi, we already had to add libstdc++ to gtk because of Pango (more specifically the harfbuzz component of Pango) Now harfbuzz is adding icu as a dependency. QT is looking cuter and cuter. Re: python the last time I built python (2.6 series) and pygtk (with dependencies) the build was <5mb for all of them (the gtk parts were only ~1mb). Unlike ICU, at least pygtk would open up a ton of nice small programs (most of the rox apps need it which may help unify the desktop) ... about half of the nicer small apps on gtk-apps.org are pygtk as well. One thing I do recall about building python was having to sed the hell out of the build system to make it listen to my CFLAGS/LDFLAGS that cut the size nearly in half (same goes for Perl btw) The other thing I did was make a wrapper for python that ran the .py files without building the .pyc and .pyo files and filling up the save file. The 4.5mb package is here and seems to work in wary/racy. http://puppy-development.googlecode.com/files/Python%2B-2.6.4-i486.pet

libicu, python fixes
Username: BarryK
"For libicu48, I have manually added this dependency in the scribus db entry in file Packages-ubuntu-precise-main. This is a one-off manual fix. Really, we should contact the Debian/Ubuntu scribus maintainers and ask them to add that dep. For python, I have moved it from the devx to the main f.s. This will greatly improve package compatibility for any that need python, and the devx won't be needed. This will be the first Puppy I have built with Python built-in!

Python
Username: GCMartin
"This add flexibility in what development (and some users) can do with your distros. Good addition for the general purpose services in Puppy. Here to help


Tags: puppy