2021-04-22

cook - strip_packages

 

# compressor - module of the SliTaz Cook
cookutils annotate modules/compressor @ rev 1146

al@865 1 #!/bin/sh
al@865 2 #
al@865 3 # compressor - module of the SliTaz Cook
al@865 4 # Copyright (C) SliTaz GNU/Linux - GNU GPL v3
....

al@865 757 # Find and strip: --strip-all (-s) or --strip-debug on static libs as well
al@865 758 # as removing unneeded files like in Python packages. Cross compiled binaries
al@865 759 # must be stripped with cross-tools aka $ARCH-slitaz-*-strip
al@865 760 # Stripping can be disabled with COOKOPTS="!strip"
al@865 761
al@865 762 strip_package() {

http://hg.slitaz.org/cookutils/annotate/db1cfeb9ac36/modules/compressor#l757

# Cook - A tool to cook and generate SliTaz packages.
cookutils view cook @ rev 701

# Find and strip: --strip-all (-s) or --strip-debug on static libs as well
# as removing unneeded files like in Python packages. Cross compiled binaries
# must be stripped with cross-tools aka $ARCH-slitaz-*-strip
strip_package() {

http://hg.slitaz.org/cookutils/file/1d55332252d7/cook#l436

 

https://forum.slitaz.org/topic/slitaz-future/page/11?replies=164#post-50013 

 ----

 http://hg.slitaz.org/cookutils/file/1d55332252d7/cook#l436

# Find and strip: --strip-all (-s) or --strip-debug on static libs as well
# as removing unneeded files like in Python packages. Cross compiled binaries
# must be stripped with cross-tools aka $ARCH-slitaz-*-strip
strip_package() {
    case "$ARCH" in
        arm*|x86_64) export STRIP=${HOST_SYSTEM}-strip ;;
        *) export STRIP=strip ;;
    esac
    _n "Executing strip on all files..."
    for dir in $fs/bin $fs/sbin $fs/usr/bin $fs/usr/sbin $fs/usr/games
    do
        if [ -d "$dir" ]; then
            find $dir -type f -exec $STRIP -s '{}' 2>/dev/null \;
        fi
    done
    find $fs -name "*.so*" -exec $STRIP -s '{}' 2>/dev/null \;
    find $fs -name "*.a" -exec $STRIP --strip-debug '{}' 2>/dev/null \;
    status

    # Remove Python .pyc and .pyo from packages.
    if echo "$PACKAGE $DEPENDS" | fgrep -q "python"; then
        _n "Removing Python compiled files..."
        find $fs -type f -name "*.pyc" -delete 2>/dev/null
        find $fs -type f -name "*.pyo" -delete 2>/dev/null
        status
    fi

    # Remove Perl perllocal.pod and .packlist from packages.
    if echo "$DEPENDS" | fgrep -q "perl"; then
        _n "Removing Perl compiled files..."
        find $fs -type f -name "perllocal.pod" -delete 2>/dev/null
        find $fs -type f -name ".packlist" -delete 2>/dev/null
        status
    fi
}
 

----

http://hg.slitaz.org/cookutils/file/db1cfeb9ac36/modules/compressor#l757

# Find and strip: --strip-all (-s) or --strip-debug on static libs as well
# as removing unneeded files like in Python packages. Cross compiled binaries
# must be stripped with cross-tools aka $ARCH-slitaz-*-strip
# Stripping can be disabled with COOKOPTS="!strip"

strip_package() {
    [ "${COOKOPTS/!strip/}" != "$COOKOPTS" ] && return

    local i ifs="$IFS"
    IFS=$'\n'

    case "$ARCH" in
        arm*|x86_64) export STRIP="$HOST_SYSTEM-strip" ;;
        *)           export STRIP='strip' ;;
    esac
    action 'Executing strip on all files...'
    size0=0
    size1=0
    time0=$(get_time)
    oldsize=$(sizes strip)


    # GNU strip (GNU Binutils)
    # -p --preserve-dates                 Copy modified/access timestamps to the output
    # -s --strip-all                      Remove all symbols and relocation information
    #    --strip-unneeded                 Remove all symbols not needed by relocations
    # -D --enable-deterministic-archives  Produce deterministic output when stripping archives
    # -g -S -d --strip-debug              Remove all debugging symbols & sections

    # Strip executable files
    while read i; do
        $STRIP -ps "$i" 2>/dev/null
    done <<EOT
$(find_elf EXEC)
EOT

    # Strip shared libraries
    while read i; do
        case $i in
            *.dbg) ;; # skip library.so.*.dbg debugging symbols
            *) $STRIP -p --strip-unneeded "$i" 2>/dev/null;;
        esac
    done <<EOT
$(find_elf DYN)
EOT

    # Strip static libraries
    # See also: https://wiki.debian.org/ReproducibleBuilds/TimestampsInStaticLibraries
    find $install -name '*.a' -exec $STRIP -pdD '{}' 2>/dev/null \;


    # Remove Python *.pyc and *.pyo
    find $install -type f \( -name '*.pyc' -o -name '*.pyo' \) -delete 2>/dev/null

    # Remove both with the empty subfolders:
    # 1. Perl perllocal.pod and .packlist (unconditionally)
    local perlfiles="$(find $install -type f \( -name 'perllocal.pod' -o -name '.packlist' \))"
    # 2. Perl *.pod (if not disabled)
    [ "${COOKOPTS/!rmpod/}" == "$COOKOPTS" ] &&
        perlfiles="$perlfiles"$'\n'"$(find $install -type f -name '*.pod')"
    echo "$perlfiles" | sort -u | xargs rm -f 2>/dev/null
    echo "$perlfiles" | sort -u | awk 'BEGIN{FS=OFS="/"}{$NF="";print}' \
    | xargs rmdir -p --ignore-fail-on-non-empty 2>/dev/null

    # Strip documentation inside Perl files (*.pm and *.pl) (if not disabled)
    [ "${COOKOPTS/!perlz/}" == "$COOKOPTS" ] &&
        find $install -type f \( -name '*.pm' -o -name '*.pl' \) -exec sed -i '/^=/,/^=cut/d' '{}' \;

    newsize=$(sizes strip)

    comp_summary "$time0" "$oldsize" "$newsize"
    IFS="$ifs"
}

 

 

 

2021-04-05

teamviewer



/lib/libc.so.6: version `GLIBC_2.17' not found (required by /opt/teamviewer/tv_bin/teamviewerd)

    libQt5WebKitWidgets.so.5 => not found
    libQt5X11Extras.so.5 => not found
    libQt5WebKit.so.5 => not found
    libQt5Quick.so.5 => not found
    libQt5Qml.so.5 => not found
    libQt5Widgets.so.5 => not found


1. teamviewer-15.16.8
root@slitaz:~# ldd /opt/teamviewer/tv_bin/teamviewerd
/opt/teamviewer/tv_bin/teamviewerd: /lib/libc.so.6: version `GLIBC_2.17' not found (required by /opt/teamviewer/tv_bin/teamviewerd)
    libdl.so.2 => /lib/libdl.so.2 (0xb77b3000)
    librt.so.1 => /lib/librt.so.1 (0xb77a9000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xb778e000)
    libm.so.6 => /lib/libm.so.6 (0xb7760000)
    libc.so.6 => /lib/libc.so.6 (0xb75e7000)
    /lib/ld-linux.so.2 (0xb77b9000)


2. teamviewer-13.2.258818
Linux (v13.2.258818)
https://download.teamviewer.com/download/linux/version_13x/teamviewer_i386.deb

DEPENDS="alsa-lib bash xorg-libXext zlib"

root@slitaz:~# ldd /opt/teamviewer/tv_bin/TeamViewer
    libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb7714000)
    librt.so.1 => /lib/librt.so.1 (0xb770a000)
    libdl.so.2 => /lib/libdl.so.2 (0xb7705000)
    libQt5WebKitWidgets.so.5 => not found
    libQt5X11Extras.so.5 => not found
    libQt5DBus.so.5 => /usr/lib/libQt5DBus.so.5 (0xb7649000)
    libQt5WebKit.so.5 => not found
    libQt5Quick.so.5 => not found
    libQt5Qml.so.5 => not found
    libQt5Widgets.so.5 => not found
    libQt5Network.so.5 => /usr/lib/libQt5Network.so.5 (0xb743c000)
    libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0xb6d1a000)
    libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0xb66cc000)
    libm.so.6 => /lib/libm.so.6 (0xb669e000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xb6682000)
    libc.so.6 => /lib/libc.so.6 (0xb650a000)
    /lib/ld-linux.so.2 (0xb7762000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb63d0000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb63b5000)
    libz.so.1 => /usr/lib/libz.so.1 (0xb639f000)
    libGL.so.1 => /usr/lib/libGL.so.1 (0xb6340000)
    libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb631c000)
    libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0xb626e000)
    libicui18n.so.54 => /usr/lib/libicui18n.so.54 (0xb604e000)
    libicuuc.so.54 => /usr/lib/libicuuc.so.54 (0xb5eeb000)
    libicudata.so.54 => /usr/lib/libicudata.so.54 (0xb46be000)
    libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb46b9000)
    libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb45c1000)
    libglapi.so.0 => /usr/lib/libglapi.so.0 (0xb45a1000)
    libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb459c000)
    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb4594000)
    libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xb458f000)
    libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0xb4573000)
    libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0xb456c000)
    libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb4565000)
    libXext.so.6 => /usr/lib/libXext.so.6 (0xb4552000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0xb4432000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb4408000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0xb4403000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb43fc000)
    libdrm.so.2 => /usr/lib/libdrm.so.2 (0xb43ea000)
    libpcre.so.1 => /usr/lib/libpcre.so.1 (0xb4387000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb42f2000)
    libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0xb42df000)
root@slitaz:~#

----
Available packages
-----------------------------------------------------------------------------------
libQt5Core              5.14.2            development
libQt5DBus              5.14.2            development
libQt5Designer          5.14.2            development
libQt5Gui               5.14.2            development
libQt5Help              5.14.2            development
libQt5Multimedia        5.14.2            development
libQt5Network           5.14.2            development
libQt5OpenGL            5.14.2            development
libQt5Plugins           5.14.2            development
libQt5Script            5.14.2            development
libQt5ScriptTools       5.14.2            development
libQt5Sql               5.14.2            development
libQt5Svg               5.14.2            development
libQt5Test              5.14.2            development
libQt5Xml               5.14.2            development
===================================================================================
15 available packages found for "libQt5"

https://forum.slitaz.org/topic/teamviewer-installation#post-49952