#!/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 mainly use diff TCE now LIST="compiletc submitqc libfm-dev lxde-icon-theme 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=2 make check # 10 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 v2' > $P/usr/local/share/doc/$P/COPYING mkdir -p $P/usr/local/share/pixmaps ICON=/tmp/tcloop/lxde-icon-theme/usr/local/share/icons/nuoveXT2/48x48/apps/system-file-manager.png cp $ICON $P/usr/local/share/pixmaps/pcmanfm.png APP=$P/usr/local/share/applications/$P.desktop sed 's|Utility|Utilities|' -i $APP sed 's|Core;||' -i $APP sed 's|StartupNotify=true|StartupNotify=false|' -i $APP echo 'X-FullPathIcon=/usr/local/share/pixmaps/pcmanfm.png' >> $APP # 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 echo 'file:///usr/local/share/applications executable-icons file:///home/tc/Downloads Downloads file:///home/tc/.config .config file:///home/tc/.local .local ' > $P/usr/local/share/$P/.gtk-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/.gtk-bookmarks HOME=/home/$USER [ -f $HOME/.gtk-bookmarks ] || cp $DIR $HOME chown $USER:staff $HOME/.gtk-bookmarks chmod 644 $HOME/.gtk-bookmarks EOF chown -R root:staff $P/usr/local/tce.installed chmod -R 775 $P/usr/local/tce.installed # TCZ them ########### LIST="$P " for Z in $LIST do mksquashfs $Z $Z.tcz md5sum $Z.tcz > $Z.tcz.md5.txt cd $Z find usr -not -type d > /tmp/$Z.tcz.list find etc -not -type d >> /tmp/$Z.tcz.list sed 's|usr|/usr|g' -i /tmp/$Z.tcz.list sed 's|etc|/etc|g' -i /tmp/$Z.tcz.list cd /tmp done LIST="$P-locale " for Z in $LIST do mksquashfs $Z $Z.tcz md5sum $Z.tcz > $Z.tcz.md5.txt cd $Z find usr -not -type d > /tmp/$Z.tcz.list sed 's|usr|/usr|g' -i /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 v2 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 Current: 2024/04/04 rebuild for changed deps on 15x ' > $P-locale.tcz.info echo 'pcmanfm.tcz libfm-locale.tcz' > $P-locale.tcz.dep echo 'Title: pcmanfm.tcz Description: Graphical File Manager Version: 1.3.2 Author: Hong Jen Yee Original-site: https://downloads.sourceforge.net/pcmanfm Copying-policy: GPL v2 Size: 128K Extension_by: aus9 @linuxquestions.org Tags: file manager gtk2 fm Comments: online manual https://man.archlinux.org/man/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 ~/.gtk-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 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 Current: 2024/04/04 rebuild for changed deps on 15x ' > $P.tcz.info readelf -d $P/usr/local/bin/$P | grep 'NEEDED' # ignore TCBs #libX11.so.6]libX11 -> cairo -> pango -> gtk2 -> libfm dep #libfm-gtk.so.4]libfm #libgtk-x11-2.0.so.0]libgdk-x11-2.0.so.0] gtk2 -> libfm dep #libpangocairo-1.0.so.0]libpangoft2-1.0.so.0]libpango-1.0.so.0] pango -> gtk2 -> libfm dep #libatk-1.0.so.0] atk-spi2-core -> gtk2 -> libfm dep #libcairo.so.2 ] cairo -> pango -> gtk2 -> libfm dep #libgdk_pixbuf-2.0.so.0]gdk-pixbuf2 -> gtk2 -> libfm dep #libharfbuzz.so.0] harfbuzz -> freetype -> fontconfig -> cairo -> pango -> gtk2 -> libfm dep #libfontconfig.so.1]fontconfig -> cairo -> pango -> gtk2 -> libfm dep #libfreetype.so.6]freetype -> fontconfig -> cairo -> pango -> gtk2 -> libfm dep #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 -> gtk2 -> libfm dep echo 'libfm.tcz update-desktops.tcz ' > $P.tcz.dep submitqc --libs rm -rf *.zsync