#!/bin/sh # test we are root if [ "$(id -u)" != "0" ]; then exit 1 fi # build order is libfm-extra-dev menu-cache libfm then pcmanfm export CFLAGS="-mtune=generic -Os -pipe" export CXXFLAGS="-mtune=generic -Os -pipe -fno-exceptions -fno-rtti" P=pcmanfm V=1.3.2 SRC=$P-$V USER=`cat /etc/sysconfig/tcuser` # adwaita has gone svg - ignore icon caching now LIST="compiletc submitqc libfm-dev intltool " for Z in $LIST do su -c "tce-load -i $Z" $USER done # /etc as same rule for libfm, can not use usr loc etc cd /tmp su -c "/usr/local/bin/wget -nc --no-check-certificate \ https://downloads.sourceforge.net/$P/$SRC.tar.xz " $USER tar xvf $SRC*xz cd $SRC ./configure --prefix=/usr/local --sysconfdir=/etc --with-gtk=3 find . -name Makefile -type f -exec sed -i 's/-g -O2//g' {} \; make check # 5 seconds make install-strip DESTDIR=/tmp/$P cd /tmp # locale ######### mkdir -p $P-locale/usr/local/share mv $P/usr/local/share/locale $P-locale/usr/local/share # no doc ##### rm -rf $P/usr/local/share/man # no dev ##### rm -rf $P/usr/local/include rm -rf $P/usr/local/lib # main ##### mkdir -p $P/usr/local/share/doc/$P echo 'GPL v 2' > $P/usr/local/share/doc/$P/COPYING mkdir -p $P/usr/local/share/pixmaps ICON=/tmp/tcloop/libfm/usr/local/share/pixmaps/libfm.png cp $ICON $P/usr/local/share/pixmaps/pcmanfm.png # remove need for startup-notifications dep true-false APP1=$P/usr/local/share/applications/$P.desktop sed 's|Utility|Utilities|' -i $APP1 sed 's|Core;||' -i $APP1 sed 's|true|false|' -i $APP1 echo 'X-FullPathIcon=/usr/local/share/pixmaps/pcmanfm.png' >> $APP1 APP2=$P/usr/local/share/applications/$P-desktop-pref.desktop sed '106d' -i $APP2 sed 's|true|false|' -i $APP2 sed 's|Settings;GTK;DesktopSettings;X-LXDE-Settings;|System;FileTools;FileManager;Utilities;GTK;|' -i $APP2 echo 'X-FullPathIcon=/usr/local/share/pixmaps/pcmanfm.png' >> $APP2 # gvfs not compiled into libfm so remove its GUI rm -rf $P/usr/local/share/$P/ui/connect.ui # create template ################## mkdir -p $P/usr/local/share/$P/files echo 'file:///home/tc/Downloads Downloads file:///home/tc/.config .config file:///home/tc/.local .local file:///mnt mnt file:///tmp tmp' > $P/usr/local/share/$P/files/bookmarks # tce.install ############# mkdir -p $P/usr/local/tce.installed cat >> $P/usr/local/tce.installed/$P <<'EOF' #!/bin/sh USER=`cat /etc/sysconfig/tcuser` DIR=/usr/local/share/pcmanfm/files/bookmarks HOME=/home/$USER/.config/gtk-3.0 [ -f $HOME/bookmarks ] || cp $DIR $HOME/ chown $USER:staff $HOME/bookmarks chmod 644 $HOME/bookmarks EOF chown -R root:staff $P/usr/local/tce.installed chmod -R 775 $P/usr/local/tce.installed # TCZ them ########### LIST="$P $P-locale" for Z in $LIST do mksquashfs $Z $Z.tcz md5sum $Z.tcz > $Z.tcz.md5.txt cd $Z find . -not -type d | cut -c 2- | sort > /tmp/$Z.tcz.list cd /tmp done ls -hal echo 'Title: pcmanfm-locale.tcz Description: locales for pcmanfm Version: 1.3.2 Author: Hong Jen Yee Original-site: https://downloads.sourceforge.net/pcmanfm Copying-policy: GPL v 2 Size: 476K Extension_by: aus9 @linuxquestions.org Tags: locale file manager Comments: locales untested by me Change-log: 2014/01/18 First version, 1.1.2.2 (bmarkus) 2015/08/20 v1.2.3 (gordon64) 2019/02/10 v1.3.0 for 10x(aus9) 2020/07/19 v 1.3.1 for 11x 2023/03/26 v 1.3.2 on 14x 2024/04/04 rebuild for changed deps on 15x Current: 2025/01/02 rebuilt on gtk3' > $P-locale.tcz.info echo 'pcmanfm.tcz libfm-locale.tcz' > $P-locale.tcz.dep echo 'Title: pcmanfm.tcz Description: gtk3 File Manager Version: 1.3.2 Author: Hong Jen Yee Original-site: https://downloads.sourceforge.net/pcmanfm Copying-policy: GPL v 2 Size: 128K Extension_by: aus9 @linuxquestions.org Tags: file manager gtk3 fm Comments: online manual https://man.archlinux.org/man/extra/pcmanfm-gtk3/pcmanfm.1.en Config will auto-create at ~/.config/pcmanfm/default/pcmanfm.conf Original /etc/xdg/pcmanfm/pcmanfm.conf Change by pulldown Edit Preferences. If pcmanfm run in desktop mode, other preferences can be activated see https://tinyurl.com/y3ouvb94 Recommend change preferences to not allow volume management automount of volumes on startup. FM preferences can also change libfm (dependency) config. FM Bookmarks at ~/.config/gtk-3.0/bookmarks FM can integrate with some archive TCEs but no dependencies set See /usr/local/share/libfm/archivers.list load one then run $ update-desktops This build has no support for: pulldown Edit move to trash but context menu on a file/dir will offer delete pulldown Go Trash can, devices, Network or server Optional TCES - search for theme in Apps & lxappearance Download and load your preferred theme and run $ lxappearance creates ~/.config/gtk-3.0/settings.ini Desktop themes might interfere, you be the judge. I like skeuos-gtk-themes.tcz mainly supports gtk2 & 3 Change-log: 2014/01/18 First version, 1.1.2.2 (bmarkus) 2015/08/20 v1.2.3 (gordon64) 2019/02/10 v1.3.0 for 10x(aus9) 2020/07/19 v 1.3.1 for 11x change install script 2020/08/04 add update-desktops to dep and info 2023/03/26 v 1.3.2 on 14x 2024/04/04 rebuild for changed deps on 15x Current: 2025/01/02 rebuilt on gtk3 ' > $P.tcz.info readelf -d $P/usr/local/bin/$P | grep 'NEEDED' # ignore TCBs #libX11.so.6]libX11 cairo pango gtk3 libfm #libfm-gtk3.so.4 libfm #[libgtk-3.so.0] [libgdk-3.so.0]gtk3 libfm #libpangocairo-1.0.so.0]libpangoft2-1.0.so.0]libpango-1.0.so.0] pango gtk3 libfm #libharfbuzz.so.0] harfbuzz freetype fontconfig cairo pango gtk3 libfm #libatk-1.0.so.0] atk-spi2-core gtk3 libfm #libcairo.so.2 ] cairo pango gtk3 libfm #libgdk_pixbuf-2.0.so.0]gdk-pixbuf2 gtk3 libfm #libfm.so.4] libfm #libgthread-2.0.so.0]libgio-2.0.so.0]libgobject-2.0.so.0]libgobject-2.0.so.0]libglib-2.0.so.0]glib2 at-spi2-core gtk3 libfm # gtk2 had fontconfig and freetype missing here echo 'libfm.tcz update-desktops.tcz ' > $P.tcz.dep submitqc --libs rm -rf *.zsync