Page 1 of 1
GIMP 3.x.x update script for Porteus
Posted: 04 Jan 2025, 14:39
by Blaze
Hi guys.
I need testers with Porteus 5.1 alpha and different DE's to test my a new GIMP 3.x.x update script for Porteus.
I not added ghostscript coz he is disable ability to print for my Canon LBP6030B printer and mozjs128 is add some size.
Code: Select all
#!/bin/bash
# This is GIMP 3.x.x update script for Porteus
# Version 2025-01-06
# Copyright 2023-2030, Blaze, Dankov, Russia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# root check
if [ `whoami` != "root" ]; then
echo -e "\nYou need to be root to run this script.\n"
exit 1
fi
PRGNAM=${PRGNAM:-gimp}
BUILD=${BUILD:-1}
ARCH=$( uname -m )
VERSION=$(lynx -source "https://www.nic.funet.fi/pub/mirrors/ftp.gimp.org/pub/gimp/v3.0/SHA256SUMS" | tail -n1 | cut -d'-' -f2-3 | sed -e 's|\.tar.xz||')
BOLD=${BOLD:-"\e[1m"}
CYAN=${CYAN:-"\e[96m"}
GREEN=${GREEN:-"\e[92m"}
RED=${RED:-"\e[31m"}
RESET=${RESET:-"\e[0m"}
CWD=$(pwd)
TMPDIR=/tmp/portch
PKG=$TMPDIR/package-$PRGNAM
PKGINFO=$PKG/var/lib/pkgtools/packages
ICON=$PKG/usr/share/applications/gimp.desktop
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
else
LIBDIRSUFFIX=""
fi
cleanup(){
[ -d $TMPDIR ] && rm -rf $TMPDIR
[ -d $PKG ] && rm -rf $PKG
rm -f ${OUTPUT}/*.txz
exit
}
# check if gimp installed in the system
if [[ -f "/usr/bin/gimp" ]]; then
MYVER=${MYVER:-`gimp --version | awk '{print $NF}'`}
fi
if [ "$MYVER" == "$VERSION" ]; then
echo -e "You have the latest ${GREEN}$MYVER${RESET} version of $PRGNAM"
sleep 5
exit
else
read -p "$(echo -e Would you like to build $PRGNAM ${GREEN}$VERSION${RESET} xzm module? [y/n])" -n 1 -r -s && echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "We continue the execution of the $0 script" &>/dev/null
else
exit
fi
fi
rm -rf $PKG ${OUTPUT}/*.txz
mkdir -p $TMPDIR $PKG
cd $PKG
if [[ "$XDG_CURRENT_DESKTOP" == "X-Cinnamon" || "$XDG_CURRENT_DESKTOP" == "MATE" ]]; then
XZM=no getpkg -q gimp Imath LibRaw appstream-glib cfitsio gegl gexiv2 lensfun libmypaint libwmf libyaml luajit-lgi openexr
# add babl
elif [[ "$XDG_CURRENT_DESKTOP" == "GNOME" || "$XDG_CURRENT_DESKTOP" == "KDE" || "$XDG_CURRENT_DESKTOP" == "LXDE" || "$XDG_CURRENT_DESKTOP" == "LXQt" || "$XDG_DESKTOP_SESSION" == "openbox" || "$XDG_CURRENT_DESKTOP" == "XFCE" ]]; then
XZM=no getpkg -q gimp Imath LibRaw appstream-glib babl cfitsio gegl gexiv2 lensfun libmypaint libwmf libyaml luajit-lgi openexr
else
XZM=no getpkg -q gimp Imath LibRaw appstream-glib babl cfitsio gegl gexiv2 lensfun libmypaint libwmf libyaml luajit-lgi openexr
fi
for i in $(find ${OUTPUT} -type f | grep ".txz" | sort); do ROOT=$PKG installpkg $i >/dev/null; done
# cleanup
rm -rf $PKG/usr/{doc,include,lib,man}
rm -rf $PKG/usr/lib64/{gjs,pkgconfig}
rm -rf $PKG/usr/share/{doc,ghostscript}
rm -rf $PKG/var/lib/pkgtools/scripts/*
find $PKG/usr/share/locale -type f ! -name 'gimp30*.mo' -delete
# remove PDF and images MimeTypes
sed -i 's|application/pdf;||' $ICON
sed -i 's|image/bmp;||' $ICON
sed -i 's|image/gif;image/svg+xml;image/x-compressed-xcf;image/x-fits;||' $ICON
sed -i 's|image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;||' $ICON
sed -i 's|image/x-tga;image/x-xbitmap;||' $ICON
sed -i 's|image/tiff;image/jpeg;||' $ICON
sed -i 's|image/png;image/x-icon;image/x-xpixmap;||' $ICON
sed -i 's|image/x-webp;image/webp;||' $ICON
# add Russian translation
sed -i 's|Name\[ru\]\=GNU Image Manipulation Program|Name\[ru\]\=Редактор изображений GIMP|' $PKG/usr/share/applications/gimp.desktop
# add hack with ghostscript 9.55 symbolic link on libgs.so.10 (ghostscript 10)
( cd usr/lib${LIBDIRSUFFIX} ; ln -sf libgs.so.9.55 libgs.so.10 )
## functions to choose locale from a menu
array_menu(){
echo
echo "$1"
echo "$2"
select CHOICE in ${RESULT[@]}; do
if [ -z "$CHOICE" ]; then
CHOICE="en_US"
echo "English locale chosen." && echo
else
echo -e "${BOLD}${CYAN}${CHOICE}${RESET} locale chosen"
fi
break
done
}
get_locale(){
# Set locales in array
for a in af am ar as ast az be bg bn br bs ca 'ca\@valencia' ckb cs csb da de dz el en_CA en_GB en_US eo es et eu fa fi fr fur fy ga gd gl gu he hi hr hu hy id is it ja ka kab kk km kn ko ky lt lv mai mk ml mn mr ms my nb nds ne nl nn nn_NO oc pa pl pt pt_BR ro ru rw sc se si sk sl sq sr 'sr\@latin' sv ta te tg th tr tt uk uz vi wa xh yi zh_CN zh_HK zh_TW; do
RESULT+=( $a )
done
array_menu "Or choose a locale from the list." "All other locales will be removed." ${RESULT[@]}
unset RESULT
}
get_locale
echo "Removing locales ..."
find $PKG/usr/share/locale/ -maxdepth 1 -type d ! -name 'locale' | grep -Ev "${CHOICE}" | xargs -i rm -rf {}
find $PKG/usr/lib${LIBDIRSUFFIX}/gimp/*.*/extensions/org.gimp.extension.goat-exercises/locale -maxdepth 1 -type d ! -name 'locale' | grep -Ev "${CHOICE}" | xargs -i rm -rf {}
dir2xzm $PKG $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD.xzm
# check on GIMP 3.x.x xzm file exists in /tmp
if [ -f "$OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.xzm" ]; then
echo -e "\n${BOLD}Your $PRGNAM module is at: ${GREEN}${BOLD}$OUTPUT/$PRGNAM-$VERSION-x86_64-${BUILD}.xzm${RESET}\n${BOLD}Please copy it to your modules folder to survive a reboot.${RESET}\n"
else
echo -e "\n${RED}${BOLD}Faile. Your $PRGNAM module is not built.${RESET}\n"
fi
cleanup
In your report please write your DE and missing libs if you will gotten.
Run in terminal
Code: Select all
ldd /usr/bin/gimp | grep -i found
gimp
Thanks
GIMP 3.x.x update script for Porteus
Posted: 04 Jan 2025, 16:17
by AcnapyxoB
Blaze wrote: ↑04 Jan 2025, 14:39
I need testers with Porteus 5.1 alpha and different DE's to test my a new GIMP 3.x.x update script for Porteus.
On the stage "Press '
Enter' to set en_US locale by default." nothing happens (with enter press) I choose "
22) en_GB" ...the script continued and built gimp.
After activating gimp module:
Code: Select all
guest@porteus:~$ ldd /usr/bin/gimp | grep -i found
gimp
libgexiv2.so.2 => not found
libgexiv2.so.2 => not found
gimp: error while loading shared libraries: libgexiv2.so.2: cannot open shared object file: No such file or directory
All process:
Code: Select all
root@porteus:/home/guest/Documents# ./gimp.sh
Would you like to build gimp 3.0.0-RC2 xzm module? [y/n]
Checking that mirror is online ...
--2025-01-04 17:59:15-- https://dfw.mirror.rackspace.com/slackware//slackware64-current/FILELIST.TXT
Resolving dfw.mirror.rackspace.com (dfw.mirror.rackspace.com)... 74.205.112.120
Connecting to dfw.mirror.rackspace.com (dfw.mirror.rackspace.com)|74.205.112.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1537770 (1.5M) [text/plain]
Saving to: ‘/tmp/getpkg/FILELIST.TXT’
FILELIST.TXT 100%[=========================================>] 1.47M 393KB/s in 4.6s
2025-01-04 17:59:21 (325 KB/s) - ‘/tmp/getpkg/FILELIST.TXT’ saved [1537770/1537770]
[MULTIPLE] gimp
Multiple packages were found.
Choose the correct package or ctrl+c to quit.
1) gimp-2.10.38-x86_64-2.txz
2) gimp-3.0.0_RC2-x86_64-1.txz
#? 2
[OK] gimp-3.0.0_RC2-x86_64-1.txz
[OK] Imath-3.1.12-x86_64-1.txz
[OK] LibRaw-0.21.3-x86_64-1.txz
[OK] appstream-glib-0.8.3-x86_64-1.txz
[OK] babl-0.1.110-x86_64-1.txz
[OK] cfitsio-4.5.0-x86_64-1.txz
[OK] gegl-0.4.52-x86_64-1.txz
[OK] gjs-1.82.1-x86_64-1.txz
[OK] lensfun-0.3.4-x86_64-3.txz
[OK] libmypaint-1.6.1-x86_64-4.txz
[OK] libwmf-0.2.13-x86_64-1.txz
[OK] libyaml-0.2.5-x86_64-3.txz
[OK] luajit-lgi-0.9.2-x86_64-1.txz
[OK] openexr-3.3.2-x86_64-1.txz
Downloading: gimp-3.0.0_RC2-x86_64-1.txz DONE
Converting gimp-3.0.0_RC2-x86_64-1.txz ...
Verifying package gimp-3.0.0_RC2-x86_64-1.txz.
Installing package gimp-3.0.0_RC2-x86_64-1.txz:
PACKAGE DESCRIPTION:
# gimp (GNU Image Manipulation Program)
#
# GIMP (GNU Image Manipulation Program) is a powerful image editor.
# Whether you are a graphic designer, photographer, illustrator, or
# scientist, GIMP provides you with sophisticated tools to get your job
# done. You can further enhance your productivity with GIMP thanks to
# many customization options and 3rd party plugins.
#
# Homepage: https://www.gimp.org
#
Executing install script for gimp-3.0.0_RC2-x86_64-1.txz.
Package gimp-3.0.0_RC2-x86_64-1.txz installed.
Creating /tmp/gimp-3.0.0_RC2-x86_64-1.xzm
Downloading: Imath-3.1.12-x86_64-1.txz DONE
Converting Imath-3.1.12-x86_64-1.txz ...
Verifying package Imath-3.1.12-x86_64-1.txz.
Installing package Imath-3.1.12-x86_64-1.txz:
PACKAGE DESCRIPTION:
# Imath (Math library for graphics)
#
# Imath is a basic, light-weight, and efficient C++ representation of 2D
# and 3D vectors and matrices and other simple but useful mathematical
# objects, functions, and data types common in computer graphics
# applications, including the half 16-bit floating-point type. Imath
# also includes optional python bindings for all types and functions,
# including optimized implementations of vector and matrix arrays.
#
# Homepage: https:://github.com/AcademySoftwareFoundation/Imath
#
Executing install script for Imath-3.1.12-x86_64-1.txz.
Package Imath-3.1.12-x86_64-1.txz installed.
Creating /tmp/Imath-3.1.12-x86_64-1.xzm
Downloading: LibRaw-0.21.3-x86_64-1.txz DONE
Converting LibRaw-0.21.3-x86_64-1.txz ...
Verifying package LibRaw-0.21.3-x86_64-1.txz.
Installing package LibRaw-0.21.3-x86_64-1.txz:
PACKAGE DESCRIPTION:
# LibRaw (library for decoding raw digital photos)
#
# LibRaw is a library for reading RAW files from digital photo cameras
# (CRW/CR2, NEF, RAF, DNG, MOS, KDC, DCR, etc, virtually all RAW formats
# are supported). It pays special attention to correct retrieval of data
# required for subsequent RAW conversion. The library is intended for
# embedding in RAW converters, data analyzers, and other programs using
# RAW files as the initial data.
#
# Homepage: https://www.libraw.org/
#
Executing install script for LibRaw-0.21.3-x86_64-1.txz.
Package LibRaw-0.21.3-x86_64-1.txz installed.
Creating /tmp/LibRaw-0.21.3-x86_64-1.xzm
Downloading: appstream-glib-0.8.3-x86_64-1.txz DONE
Converting appstream-glib-0.8.3-x86_64-1.txz ...
Verifying package appstream-glib-0.8.3-x86_64-1.txz.
Installing package appstream-glib-0.8.3-x86_64-1.txz:
PACKAGE DESCRIPTION:
# appstream-glib (AppStream metadata library)
#
# The AppStream-Glib library provides GObjects and helper methods to
# make it easy to read and write AppStream metadata. It also provides a
# simple DOM implementation that makes it easy to edit nodes and convert
# to and from the standardized XML representation. It also supports
# reading of Debian-style DEP-11 metadata.
#
# Homepage:
# https://people.freedesktop.org/~hughsient/appstream-glib/index.htm
#
Executing install script for appstream-glib-0.8.3-x86_64-1.txz.
Package appstream-glib-0.8.3-x86_64-1.txz installed.
Creating /tmp/appstream-glib-0.8.3-x86_64-1.xzm
Downloading: babl-0.1.110-x86_64-1.txz DONE
Converting babl-0.1.110-x86_64-1.txz ...
Verifying package babl-0.1.110-x86_64-1.txz.
Installing package babl-0.1.110-x86_64-1.txz:
PACKAGE DESCRIPTION:
# babl (pixel format translation library)
#
# babl is a dynamic, any to any, pixel format translation library.
#
# It allows converting between different methods of storing pixels known
# as pixel formats that have with different bitdepths and other data
# representations, color models and component permutations.
#
# A vocabulary to formulate new pixel formats from existing primitives is
# provided as well as the framework to add new color models and data types.
#
Executing install script for babl-0.1.110-x86_64-1.txz.
Package babl-0.1.110-x86_64-1.txz installed.
Creating /tmp/babl-0.1.110-x86_64-1.xzm
Downloading: cfitsio-4.5.0-x86_64-1.txz DONE
Converting cfitsio-4.5.0-x86_64-1.txz ...
Verifying package cfitsio-4.5.0-x86_64-1.txz.
Installing package cfitsio-4.5.0-x86_64-1.txz:
PACKAGE DESCRIPTION:
# cfitsio (FITS file subroutine library)
#
# cfitsio is a library of ANSI C routines for reading and writing FITS
# format data files. A set of Fortran-callable wrapper routines is also
# included.
#
# Homepage: http://heasarc.gsfc.nasa.gov/fitsio
#
Executing install script for cfitsio-4.5.0-x86_64-1.txz.
Package cfitsio-4.5.0-x86_64-1.txz installed.
Creating /tmp/cfitsio-4.5.0-x86_64-1.xzm
Downloading: gegl-0.4.52-x86_64-1.txz DONE
Converting gegl-0.4.52-x86_64-1.txz ...
Verifying package gegl-0.4.52-x86_64-1.txz.
Installing package gegl-0.4.52-x86_64-1.txz:
PACKAGE DESCRIPTION:
# gegl (Generic Graphics Library)
#
# GEGL (Generic Graphics Library) is a graph based image processing
# framework.
#
# GEGL provides infrastructure to do demand based cached non destructive
# image editing on larger than RAM buffers. Through babl it provides
# support for a wide range of color models and pixel storage formats for
# input and output.
#
Executing install script for gegl-0.4.52-x86_64-1.txz.
Package gegl-0.4.52-x86_64-1.txz installed.
Creating /tmp/gegl-0.4.52-x86_64-1.xzm
Downloading: gjs-1.82.1-x86_64-1.txz DONE
Converting gjs-1.82.1-x86_64-1.txz ...
Verifying package gjs-1.82.1-x86_64-1.txz.
Installing package gjs-1.82.1-x86_64-1.txz:
PACKAGE DESCRIPTION:
# gjs (javascript bindings for GNOME)
#
# Use the GNOME platform libraries in your JavaScript programs. GJS
# powers GNOME Shell, Polari, GNOME Documents, and many other apps.
# Under the hood it uses SpiderMonkey, Mozilla's JavaScript engine
# originally developed for Firefox.
#
# Homepage: https://gitlab.gnome.org/GNOME/gjs/
#
Executing install script for gjs-1.82.1-x86_64-1.txz.
Package gjs-1.82.1-x86_64-1.txz installed.
Creating /tmp/gjs-1.82.1-x86_64-1.xzm
Downloading: lensfun-0.3.4-x86_64-3.txz DONE
Converting lensfun-0.3.4-x86_64-3.txz ...
Verifying package lensfun-0.3.4-x86_64-3.txz.
Installing package lensfun-0.3.4-x86_64-3.txz:
PACKAGE DESCRIPTION:
# lensfun (photographic lens info database)
#
# lensfun is a library that provide a open source database of
# photographic lenses and their characteristics also provides a set of
# algorithms for correcting images based on detailed knowledge of lens
# properties and calibration data.
#
# Homepage: http://lensfun.sourceforge.net
#
Executing install script for lensfun-0.3.4-x86_64-3.txz.
Package lensfun-0.3.4-x86_64-3.txz installed.
Creating /tmp/lensfun-0.3.4-x86_64-3.xzm
Downloading: libmypaint-1.6.1-x86_64-4.txz DONE
Converting libmypaint-1.6.1-x86_64-4.txz ...
Verifying package libmypaint-1.6.1-x86_64-4.txz.
Installing package libmypaint-1.6.1-x86_64-4.txz:
PACKAGE DESCRIPTION:
# libmypaint (brush engine library)
#
# libmypaint (also known as "brushlib") is a library for making
# brushstrokes which is used by MyPaint, GIMP, and other projects.
#
# Homepage: http://mypaint.org
#
Executing install script for libmypaint-1.6.1-x86_64-4.txz.
Package libmypaint-1.6.1-x86_64-4.txz installed.
Creating /tmp/libmypaint-1.6.1-x86_64-4.xzm
Downloading: libwmf-0.2.13-x86_64-1.txz DONE
Converting libwmf-0.2.13-x86_64-1.txz ...
Verifying package libwmf-0.2.13-x86_64-1.txz.
Installing package libwmf-0.2.13-x86_64-1.txz:
PACKAGE DESCRIPTION:
# libwmf (WMF graphics format library)
#
# libwmf is a library for interpreting metafile images and either
# displaying them using X or converting them to standard formats such
# as PNG, JPEG, PS, EPS and SVG.
#
# Homepage: http://wvware.sourceforge.net/libwmf.html
#
Executing install script for libwmf-0.2.13-x86_64-1.txz.
Package libwmf-0.2.13-x86_64-1.txz installed.
Creating /tmp/libwmf-0.2.13-x86_64-1.xzm
Downloading: libyaml-0.2.5-x86_64-3.txz DONE
Converting libyaml-0.2.5-x86_64-3.txz ...
Verifying package libyaml-0.2.5-x86_64-3.txz.
Installing package libyaml-0.2.5-x86_64-3.txz:
PACKAGE DESCRIPTION:
# libyaml (YAML parser, written in C)
#
# YAML Ain't Markup Language. It is a human friendly data serialization
# standard for all programming languages.
#
# Homepage: http://pyyaml.org/wiki/LibYAML
#
Executing install script for libyaml-0.2.5-x86_64-3.txz.
Package libyaml-0.2.5-x86_64-3.txz installed.
Creating /tmp/libyaml-0.2.5-x86_64-3.xzm
Downloading: luajit-lgi-0.9.2-x86_64-1.txz DONE
Converting luajit-lgi-0.9.2-x86_64-1.txz ...
Verifying package luajit-lgi-0.9.2-x86_64-1.txz.
Installing package luajit-lgi-0.9.2-x86_64-1.txz:
PACKAGE DESCRIPTION:
# luajit-lgi (Lua bindings to use GObject libraries)
#
# LGI is gobject-introspection based dynamic Lua binding to GObject
# based libraries. It allows using GObject-based libraries directly
# from Lua. This package has been built to use the LuaJIT2
# implementation of Lua.
#
# Homepage: https://github.com/pavouk/lgi
#
Package luajit-lgi-0.9.2-x86_64-1.txz installed.
Creating /tmp/luajit-lgi-0.9.2-x86_64-1.xzm
Downloading: openexr-3.3.2-x86_64-1.txz DONE
Converting openexr-3.3.2-x86_64-1.txz ...
Verifying package openexr-3.3.2-x86_64-1.txz.
Installing package openexr-3.3.2-x86_64-1.txz:
PACKAGE DESCRIPTION:
# openexr (HDR Image File Format & Library)
#
# OpenEXR provides the specification and reference implementation of the
# EXR file format, the professional-grade image storage format of the
# motion picture industry. The purpose of EXR format is to accurately
# and efficiently represent high-dynamic-range scene-linear image data
# and associated metadata, with strong support for multi-part, multi-
# channel use cases.
#
# Homepage: http://www.openexr.org/
#
Executing install script for openexr-3.3.2-x86_64-1.txz.
Package openexr-3.3.2-x86_64-1.txz installed.
Creating /tmp/openexr-3.3.2-x86_64-1.xzm
Processing finished.
Your files are in: /tmp
Press 'Enter' to set en_US locale by default.
Or choose a locale from the list.
All other locales will be removed.
1) af 18) de 35) gu 52) lt 69) pl 86) tg
2) am 19) dz 36) he 53) lv 70) pt 87) th
3) ar 20) el 37) hi 54) mai 71) pt_BR 88) tr
4) as 21) en_CA 38) hr 55) mk 72) ro 89) tt
5) ast 22) en_GB 39) hu 56) ml 73) ru 90) uk
6) az 23) eo 40) hy 57) mn 74) rw 91) uz
7) be 24) es 41) id 58) mr 75) sc 92) vi
8) bg 25) et 42) is 59) ms 76) se 93) wa
9) bn 26) eu 43) it 60) my 77) si 94) xh
10) br 27) fa 44) ja 61) nb 78) sk 95) yi
11) bs 28) fi 45) ka 62) nds 79) sl 96) zh_CN
12) ca 29) fr 46) kab 63) ne 80) sq 97) zh_HK
13) ca\@valencia 30) fur 47) kk 64) nl 81) sr 98) zh_TW
14) ckb 31) fy 48) km 65) nn 82) sr\@latin
15) cs 32) ga 49) kn 66) nn_NO 83) sv
16) csb 33) gd 50) ko 67) oc 84) ta
17) da 34) gl 51) ky 68) pa 85) te
#?
1) af 18) de 35) gu 52) lt 69) pl 86) tg
2) am 19) dz 36) he 53) lv 70) pt 87) th
3) ar 20) el 37) hi 54) mai 71) pt_BR 88) tr
4) as 21) en_CA 38) hr 55) mk 72) ro 89) tt
5) ast 22) en_GB 39) hu 56) ml 73) ru 90) uk
6) az 23) eo 40) hy 57) mn 74) rw 91) uz
7) be 24) es 41) id 58) mr 75) sc 92) vi
8) bg 25) et 42) is 59) ms 76) se 93) wa
9) bn 26) eu 43) it 60) my 77) si 94) xh
10) br 27) fa 44) ja 61) nb 78) sk 95) yi
11) bs 28) fi 45) ka 62) nds 79) sl 96) zh_CN
12) ca 29) fr 46) kab 63) ne 80) sq 97) zh_HK
13) ca\@valencia 30) fur 47) kk 64) nl 81) sr 98) zh_TW
14) ckb 31) fy 48) km 65) nn 82) sr\@latin
15) cs 32) ga 49) kn 66) nn_NO 83) sv
16) csb 33) gd 50) ko 67) oc 84) ta
17) da 34) gl 51) ky 68) pa 85) te
#? 22
en_GB locale chosen
Removing locales ...
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on /tmp/gimp-3.0.0-RC2-x86_64-1.xzm, block size 262144.
[===========================================================================================/] 2539/2539 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 262144
compressed data, compressed metadata, compressed fragments,
compressed xattrs, compressed ids
duplicates are removed
Filesystem size 22426.35 Kbytes (21.90 Mbytes)
22.58% of uncompressed filesystem size (99339.78 Kbytes)
Inode table size 21024 bytes (20.53 Kbytes)
22.16% of uncompressed inode table size (94895 bytes)
Directory table size 27648 bytes (27.00 Kbytes)
34.43% of uncompressed directory table size (80307 bytes)
Number of duplicate files found 98
Number of inodes 2880
Number of files 2327
Number of fragments 173
Number of symbolic links 103
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 450
Number of hard-links 0
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
Your gimp module is at: /tmp/gimp-3.0.0-RC2-x86_64-1.xzm
Please copy it to your modules folder to survive a reboot.
Porteus 5.1 KDE kernel 6.12.8 (devel and crippled_sources activated)
GIMP 3.x.x update script for Porteus
Posted: 04 Jan 2025, 17:07
by donald
Yep, same at my end.
Press 'Enter' to set en_US locale by default. does not work,
infact it does repeat the chose language output.
Code: Select all
Press 'Enter' to set en_US locale by default.
Or choose a locale from the list.
All other locales will be removed.
1) af 15) cs 29) fr 43) it 57) mn 71) pt_BR 85) te
2) am 16) csb 30) fur 44) ja 58) mr 72) ro 86) tg
3) ar 17) da 31) fy 45) ka 59) ms 73) ru 87) th
4) as 18) de 32) ga 46) kab 60) my 74) rw 88) tr
5) ast 19) dz 33) gd 47) kk 61) nb 75) sc 89) tt
6) az 20) el 34) gl 48) km 62) nds 76) se 90) uk
7) be 21) en_CA 35) gu 49) kn 63) ne 77) si 91) uz
8) bg 22) en_GB 36) he 50) ko 64) nl 78) sk 92) vi
9) bn 23) eo 37) hi 51) ky 65) nn 79) sl 93) wa
10) br 24) es 38) hr 52) lt 66) nn_NO 80) sq 94) xh
11) bs 25) et 39) hu 53) lv 67) oc 81) sr 95) yi
12) ca 26) eu 40) hy 54) mai 68) pa 82) sr\@latin 96) zh_CN
13) ca\@valencia 27) fa 41) id 55) mk 69) pl 83) sv 97) zh_HK
14) ckb 28) fi 42) is 56) ml 70) pt 84) ta 98) zh_TW
#?
1) af 15) cs 29) fr 43) it 57) mn 71) pt_BR 85) te
2) am 16) csb 30) fur 44) ja 58) mr 72) ro 86) tg
3) ar 17) da 31) fy 45) ka 59) ms 73) ru 87) th
4) as 18) de 32) ga 46) kab 60) my 74) rw 88) tr
5) ast 19) dz 33) gd 47) kk 61) nb 75) sc 89) tt
6) az 20) el 34) gl 48) km 62) nds 76) se 90) uk
7) be 21) en_CA 35) gu 49) kn 63) ne 77) si 91) uz
8) bg 22) en_GB 36) he 50) ko 64) nl 78) sk 92) vi
9) bn 23) eo 37) hi 51) ky 65) nn 79) sl 93) wa
10) br 24) es 38) hr 52) lt 66) nn_NO 80) sq 94) xh
11) bs 25) et 39) hu 53) lv 67) oc 81) sr 95) yi
12) ca 26) eu 40) hy 54) mai 68) pa 82) sr\@latin 96) zh_CN
13) ca\@valencia 27) fa 41) id 55) mk 69) pl 83) sv 97) zh_HK
14) ckb 28) fi 42) is 56) ml 70) pt 84) ta 98) zh_TW
#?
1) af 15) cs 29) fr 43) it 57) mn 71) pt_BR 85) te
2) am 16) csb 30) fur 44) ja 58) mr 72) ro 86) tg
3) ar 17) da 31) fy 45) ka 59) ms 73) ru 87) th
4) as 18) de 32) ga 46) kab 60) my 74) rw 88) tr
5) ast 19) dz 33) gd 47) kk 61) nb 75) sc 89) tt
6) az 20) el 34) gl 48) km 62) nds 76) se 90) uk
7) be 21) en_CA 35) gu 49) kn 63) ne 77) si 91) uz
8) bg 22) en_GB 36) he 50) ko 64) nl 78) sk 92) vi
9) bn 23) eo 37) hi 51) ky 65) nn 79) sl 93) wa
10) br 24) es 38) hr 52) lt 66) nn_NO 80) sq 94) xh
11) bs 25) et 39) hu 53) lv 67) oc 81) sr 95) yi
12) ca 26) eu 40) hy 54) mai 68) pa 82) sr\@latin 96) zh_CN
13) ca\@valencia 27) fa 41) id 55) mk 69) pl 83) sv 97) zh_HK
14) ckb 28) fi 42) is 56) ml 70) pt 84) ta 98) zh_TW
#?
I had to type
quit to get the
script going on.
and as being said:
Code: Select all
guest@porteus:~$ gimp
gimp: error while loading shared libraries: libgexiv2.so.2: cannot open shared object file: No such file or directory
guest@porteus:~$ ldd /usr/bin/gimp | grep not
libgexiv2.so.2 => not found
libgexiv2.so.2 => not found
Porteus-XFCE-v5.1-alpha-x86_64 -- always fresh mode
GIMP 3.x.x update script for Porteus
Posted: 05 Jan 2025, 06:44
by ncmprhnsbl
looks like the array_menu function is broken(ish) .. never noticed this before in other scripts that use it (simply because en-US is included in the array, which is the easy path :p)
without testing, maybe CHOICE just needs to be set:
Code: Select all
array_menu(){
echo
echo "$1"
echo "$2"
select CHOICE in ${RESULT[@]}; do
if [ -z "$CHOICE" ]; then
CHOICE="en_US"
bold "English locale chosen." && echo
else
bold "$CHOICE locale chosen"
fi
break
done
}
GIMP 3.x.x update script for Porteus
Posted: 05 Jan 2025, 11:40
by AcnapyxoB
ncmprhnsbl wrote: ↑05 Jan 2025, 06:44
maybe CHOICE just needs to be se
Same with added: CHOICE="en_US"
GIMP 3.x.x update script for Porteus
Posted: 05 Jan 2025, 11:56
by Blaze
AcnapyxoB and
donald
I added gexiv2 and fix with en_US locale (added to the list)
AcnapyxoB wrote: ↑05 Jan 2025, 11:40
Same with added: CHOICE="en_US"
yep, I have loop with the locale list. I went with another way (see above)
Added
Code: Select all
[*] XZM=no getpkg # thanks to ncmprhnsbl
[*] remove PDF and images MimeTypes
[*] added my correct Russian translation for gimp.desktop
[*] remove /usr/lib${LIBDIRSUFFIX}/gimp/*.*/extensions/org.gimp.extension.goat-exercises/locale
[*] added hack with ghostscript 9.55 symbolic link on libgs.so.10 (ghostscript 10)
# if you use my printing module you will able to open .ps (PostScript) files
# damn bug https://www.linuxquestions.org/questions/slackware-14/canon-6030b-is-not-print-with-ghostscript-10-03-1-%5Bbug%5D-4175740109/
Look at the 1st post.
Thanks for testing.
GIMP 3.x.x update script for Porteus
Posted: 05 Jan 2025, 14:44
by AcnapyxoB
Blaze wrote: ↑05 Jan 2025, 11:56
yep, I have loop with the locale list. I went with another way (see above)
Success

:
for the record:
Code: Select all
guest@porteus:~$ ldd /usr/bin/gimp | grep -i found
gimp
GEGL-Message: 16:37:26.090: Module '/usr/lib64/gegl-0.4/pdf-load.so' load error: libpoppler-glib.so.8: cannot open shared object file: No such file or directory
(gimp:5643): dbind-WARNING **: 16:37:26.144: Couldn't connect to accessibility bus: Failed to connect to socket /root/.cache/at-spi/bus_0: Permission denied
set device 'Logitech USB Receiver' to mode: disabled
set device 'Logitech USB Receiver Consumer Control' to mode: disabled
set device 'Virtual core XTEST pointer' to mode: disabled
set device 'Logitech USB Receiver Mouse' to mode: disabled
set device 'TPPS/2 IBM TrackPoint' to mode: disabled
set device 'SynPS/2 Synaptics TouchPad' to mode: disabled
/usr/lib64/gimp/3.0/plug-ins/file-ps/file-ps: error while loading shared libraries: libgs.so.10: cannot open shared object file: No such file or directory
gimp: LibGimpBase-WARNING: gimp: gimp_wire_read(): unexpected EOF
/usr/lib64/gimp/3.0/plug-ins/file-pdf-load/file-pdf-load: error while loading shared libraries: libpoppler-glib.so.8: cannot open shared object file: No such file or directory
gimp: LibGimpBase-WARNING: gimp: gimp_wire_read(): unexpected EOF
gjs: error while loading shared libraries: libmozjs-128.so.0: cannot open shared object file: No such file or directory
gimp: LibGimpBase-WARNING: gimp: gimp_wire_read(): unexpected EOF
(gimp:5643): Gtk-WARNING **: 16:37:29.368: Failed to fetch network locations: Automount failed: Message recipient disconnected from message bus without replying
GIMP 3.x.x update script for Porteus
Posted: 06 Jan 2025, 07:38
by Blaze
AcnapyxoB, looks like is not critical.
I do not have issue with libpoppler-glib.so.8 if I open any pdf file.
My DE is Cinnamon.
Thanks for your feedback.
GIMP 3.x.x update script for Porteus
Posted: 06 Jan 2025, 09:09
by ncmprhnsbl
AcnapyxoB wrote: ↑05 Jan 2025, 14:44
libpoppler-glib
yeah, this gets stripped out of kde (and lxqt) because their pdf readers don't need it, but we could probably keep it instead (and vice versa for the qt poppler lib in the gtk DEs)
RE: gjs i don't think this needed ie. it's an optional dep (to support javasripting) that's useless without libmozjs.
GIMP 3.x.x update script for Porteus
Posted: 06 Jan 2025, 10:00
by Blaze
If PDF files opens and able to save in GIMP poppler can be skiped too.
ncmprhnsbl wrote: ↑06 Jan 2025, 09:09
gjs i don't think this needed
will look.
Отправлено спустя 2 часа 22 минуты 59 секунд:
ncmprhnsbl, ok, ignore gjs too as mozjs128
Code: Select all
set device 'USB Optical Mouse ' to mode: disabled
set device 'A4tech A4tech KB Consumer Control' to mode: disabled
set device 'Virtual core XTEST pointer' to mode: disabled
/usr/bin/env: «gjs»: No such file or directory
gimp: LibGimpBase-ПРЕДУПРЕЖДЕНИЕ: gimp: gimp_wire_read(): unexpected EOF
BTW all deps of GIMP 3 -
https://aur.archlinux.org/packages/gimp ... =1#pkgdeps
GIMP 3.x.x update script for Porteus
Posted: 18 Feb 2025, 04:09
by ncmprhnsbl
AcnapyxoB wrote: ↑04 Jan 2025, 16:17
On the stage "Press 'Enter' to set en_US locale by default." nothing happens (with enter press) I choose "22) en_GB" ...the script continued and built gimp.
donald wrote: ↑04 Jan 2025, 17:07
Press 'Enter' to set en_US locale by default. does not work,
infact it does repeat the chose language output.
ncmprhnsbl wrote: ↑05 Jan 2025, 06:44
looks like the array_menu function is broken(ish) .. never noticed this before in other scripts that use it (simply because en-US is included in the array, which is the easy path :p)
without testing, maybe CHOICE just needs to be set:
Blaze wrote: ↑05 Jan 2025, 11:56
yep, I have loop with the locale list.
i finally got around to looking into this properly

turns out this is the correct behavior of bash inbuilt:
select ie. if the input is empty the prompt is redisplayed ...
the trick is to hit space (or any other invalid key combo eg. in donald's case: "quit") , then Enter
so a "fix" here (apart from setting CHOICE=en_US) is to supply an informative prompt:
something like:
Code: Select all
PS3="Enter the number of your choice or space for en_US default, then press Enter:"
in context:
Code: Select all
## functions to choose locale from a menu
array_menu(){
echo
echo "$1"
echo "$2"
select CHOICE in ${RESULT[@]}; do
if [ -z "$CHOICE" ]; then
CHOICE="en_US"
echo "English locale chosen." && echo
else
echo -e "${BOLD}${CYAN}${CHOICE}${RESET} locale chosen"
fi
break
done
}
get_locale(){
# Set locales in array
for a in af am ar as ast az be bg bn br bs ca 'ca\@valencia' ckb cs csb da de dz el en_CA en_GB en_US eo es et eu fa fi fr fur fy ga gd gl gu he hi hr hu hy id is it ja ka kab kk km kn ko ky lt lv mai mk ml mn mr ms my nb nds ne nl nn nn_NO oc pa pl pt pt_BR ro ru rw sc se si sk sl sq sr 'sr\@latin' sv ta te tg th tr tt uk uz vi wa xh yi zh_CN zh_HK zh_TW; do
RESULT+=( $a )
done
PS3="Enter the number of your choice or space for en_US default, then press Enter:"
array_menu "Or choose a locale from the list." "All other locales will be removed." ${RESULT[@]}
unset RESULT
}