------------------------------------------------------------------------------- -- Phase: setup ------------------------------------------------------------------------------- Installing /packages/All/ncurses-6.1.20190525.txz Installing /packages/All/indexinfo-0.3.1.txz Installing /packages/All/libtextstyle-0.20.1.txz Installing /packages/All/gettext-runtime-0.20.1.txz Installing /packages/All/gettext-tools-0.20.1_1.txz Installing /packages/All/gmake-4.2.1_3.txz Installing /packages/All/expat-2.2.8.txz Installing /packages/All/libffi-3.2.1_3.txz Installing /packages/All/readline-8.0.4.txz Installing /packages/All/openssl-1.1.1d,1.txz Installing /packages/All/python27-2.7.17_1.txz ===== Message from python27-2.7.17_1: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: bsddb databases/py-bsddb gdbm databases/py-gdbm sqlite3 databases/py-sqlite3 tkinter x11-toolkits/py-tkinter Installing /packages/All/freetype2-2.10.1.txz ===== Message from freetype2-2.10.1: -- The 2.7.x series now uses the new subpixel hinting mode (V40 port's option) as the default, emulating a modern version of ClearType. This change inevitably leads to different rendering results, and you might change port's options to adapt it to your taste (or use the new "FREETYPE_PROPERTIES" environment variable). The environment variable "FREETYPE_PROPERTIES" can be used to control the driver properties. Example: FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ cff:no-stem-darkening=1 \ autofitter:warping=1 This allows to select, say, the subpixel hinting mode at runtime for a given application. If LONG_PCF_NAMES port's option was enabled, the PCF family names may include the foundry and information whether they contain wide characters. For example, "Sony Fixed" or "Misc Fixed Wide", instead of "Fixed". This can be disabled at run time with using pcf:no-long-family-names property, if needed. Example: FREETYPE_PROPERTIES=pcf:no-long-family-names=1 How to recreate fontconfig cache with using such environment variable, if needed: # env FREETYPE_PROPERTIES=pcf:no-long-family-names=1 fc-cache -fsv The controllable properties are listed in the section "Controlling FreeType Modules" in the reference's table of contents (/usr/local/share/doc/freetype2/reference/site/index.html, if documentation was installed). Installing /packages/All/fontconfig-2.12.6,1.txz Running fc-cache to build fontconfig cache... /usr/local/share/fonts: skipping, no such directory /usr/local/lib/X11/fonts: skipping, no such directory /var/db/fontconfig: cleaning cache directory fc-cache: succeeded Installing /packages/All/png-1.6.37.txz Installing /packages/All/pcre-8.43_2.txz Installing /packages/All/libxml2-2.9.10.txz Installing /packages/All/libiconv-1.14_11.txz Installing /packages/All/python37-3.7.6.txz ===== Message from python37-3.7.6: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py37-gdbm databases/py-gdbm@py37 py37-sqlite3 databases/py-sqlite3@py37 py37-tkinter x11-toolkits/py-tkinter@py37 Installing /packages/All/glib-2.56.3_7,1.txz No schema files found: doing nothing. Installing /packages/All/wayland-1.16.0.txz Installing /packages/All/pciids-20200222.txz Installing /packages/All/libpciaccess-0.16.txz Installing /packages/All/libdrm-2.4.100.txz Installing /packages/All/libelf-0.8.13_3.txz Installing /packages/All/libXau-1.0.9.txz Installing /packages/All/libpthread-stubs-0.4.txz Installing /packages/All/xorgproto-2019.2.txz Installing /packages/All/libXdmcp-1.1.3.txz Installing /packages/All/libxcb-1.13.1.txz Installing /packages/All/libX11-1.6.9,1.txz Installing /packages/All/libXfixes-5.0.3_2.txz Installing /packages/All/libXdamage-1.1.5.txz Installing /packages/All/libXext-1.3.4,1.txz Installing /packages/All/libXrender-0.9.10_2.txz Installing /packages/All/libXrandr-1.5.2.txz Installing /packages/All/libxshmfence-1.3.txz Installing /packages/All/libXxf86vm-1.1.4_3.txz Installing /packages/All/mesa-libs-18.3.2_4.txz Installing /packages/All/pixman-0.38.4.txz Installing /packages/All/cairo-1.16.0,2.txz Installing /packages/All/m4-1.4.18_1,1.txz Installing /packages/All/perl5-5.30.1.txz ===== Message from perl5-5.30.1: -- The /usr/bin/perl symlink has been removed starting with Perl 5.20. For shebangs, you should either use: #!/usr/local/bin/perl or #!/usr/bin/env perl The first one will only work if you have a /usr/local/bin/perl, the second will work as long as perl is in PATH. Installing /packages/All/p5-XML-Parser-2.44.txz Installing /packages/All/libXcursor-1.2.0.txz Installing /packages/All/libXft-2.3.3.txz Installing /packages/All/libXinerama-1.1.4_2,1.txz Installing /packages/All/libICE-1.0.10,1.txz Installing /packages/All/libSM-1.2.3,1.txz Installing /packages/All/libXt-1.2.0,1.txz Installing /packages/All/libXpm-3.5.13.txz Installing /packages/All/fvwm-2.6.9.txz Installing /packages/All/bash-5.0.16.txz Installing /packages/All/giflib-5.2.1.txz Installing /packages/All/libid3tag-0.15.1b_2.txz Installing /packages/All/jbigkit-2.1_1.txz Installing /packages/All/jpeg-turbo-2.0.4.txz Installing /packages/All/tiff-4.1.0.txz Installing /packages/All/webp-1.1.0.txz Installing /packages/All/imlib2-1.6.1,2.txz Installing /packages/All/xrandr-1.5.1.txz Installing /packages/All/hsetroot-1.0.3.txz Installing /packages/All/libltdl-2.4.6.txz Installing /packages/All/fftw3-3.3.8_5.txz Installing /packages/All/lcms2-2.9.txz Installing /packages/All/openjpeg-2.3.1.txz Installing /packages/All/liblqr-1-0.4.2.txz ===== Message from liblqr-1-0.4.2: -- NOTE: In order to compile examples for liblqr, you will also need pngwriter port (/xports/graphics/pngwriter). Examples are located in /usr/local/share/examples/liblqr-1 Installing /packages/All/fribidi-0.19.7.txz Installing /packages/All/graphite2-1.3.13_1.txz Installing /packages/All/harfbuzz-2.6.4.txz Installing /packages/All/libraqm-0.6.0.txz Installing /packages/All/libraw-0.19.5.txz Installing /packages/All/libwmf-0.2.8.4_15.txz Installing /packages/All/shared-mime-info-1.10_2.txz Installing /packages/All/gdk-pixbuf2-2.40.0.txz Installing /packages/All/libgsf-1.14.46.txz Installing /packages/All/libcroco-0.6.13.txz Installing /packages/All/libfontenc-1.1.4.txz Installing /packages/All/mkfontscale-1.2.1.txz Installing /packages/All/font-bh-ttf-1.0.3_4.txz Installing /packages/All/font-misc-meltho-1.0.3_4.txz Installing /packages/All/font-misc-ethiopic-1.0.3_4.txz Installing /packages/All/encodings-1.0.5,1.txz Installing /packages/All/dejavu-2.37_1.txz ===== Message from dejavu-2.37_1: -- Make sure that the freetype module is loaded. If it is not, add the following line to the "Modules" section of your X Windows configuration file: Load "freetype" Add the following line to the "Files" section of X Windows configuration file: FontPath "/usr/local/share/fonts/dejavu/" Note: your X Windows configuration file is typically /etc/X11/XF86Config if you are using XFree86, and /etc/X11/xorg.conf if you are using X.Org. Installing /packages/All/xorg-fonts-truetype-7.7_1.txz Installing /packages/All/pango-1.42.4_3.txz Installing /packages/All/librsvg2-2.40.21.txz Installing /packages/All/gsfonts-8.11_8.txz Installing /packages/All/pkgconf-1.6.3,1.txz Installing /packages/All/libidn-1.35.txz Installing /packages/All/jbig2dec-0.17.txz Installing /packages/All/libpaper-1.1.24.4.txz Installing /packages/All/libdaemon-0.14_1.txz Installing /packages/All/dbus-1.12.16.txz ===> Creating groups. Creating group 'messagebus' with gid '556'. ===> Creating users Creating user 'messagebus' with uid '556'. Installing /packages/All/dbus-glib-0.110.txz Installing /packages/All/gdbm-1.18.1_1.txz Installing /packages/All/gobject-introspection-1.56.1,1.txz Installing /packages/All/gnome_subr-1.0.txz Installing /packages/All/avahi-app-0.7_2.txz ===> Creating groups. Creating group 'avahi' with gid '558'. ===> Creating users Creating user 'avahi' with uid '558'. Installing /packages/All/gmp-6.2.0.txz Installing /packages/All/nettle-3.5.1_1.txz Installing /packages/All/libtasn1-4.15.0.txz Installing /packages/All/libunistring-0.9.10_1.txz Installing /packages/All/libidn2-2.3.0_1.txz Installing /packages/All/ca_root_nss-3.51.txz ===== Message from ca_root_nss-3.51: -- FreeBSD does not, and can not warrant that the certification authorities whose certificates are included in this package have in any way been audited for trustworthiness or RFC 3647 compliance. Assessment and verification of trust is the complete responsibility of the system administrator. This package installs symlinks to support root certificates discovery by default for software that uses OpenSSL. This enables SSL Certificate Verification by client software without manual intervention. If you prefer to do this manually, replace the following symlinks with either an empty file or your site-local certificate bundle. * /etc/ssl/cert.pem * /usr/local/etc/ssl/cert.pem * /usr/local/openssl/cert.pem Installing /packages/All/p11-kit-0.23.18.1.txz Installing /packages/All/tpm-emulator-0.7.4_2.txz ===> Creating groups. Creating group '_tss' with gid '601'. ===> Creating users Creating user '_tss' with uid '601'. Installing /packages/All/trousers-0.3.14_2.txz ===> Creating groups. Using existing group '_tss'. ===> Creating users Using existing user '_tss'. ===== Message from trousers-0.3.14_2: -- To run tcsd automatically, add the following line to /etc/rc.conf: tcsd_enable="YES" You might want to edit /usr/local/etc/tcsd.conf to reflect your setup. If you want to use tcsd with software TPM emulator, use the following configuration in /etc/rc.conf: tcsd_enable="YES" tcsd_mode="emulator" tpmd_enable="YES" To use TPM, add your_account to '_tss' group like following: # pw groupmod _tss -m your_account Installing /packages/All/gnutls-3.6.12.txz Installing /packages/All/cups-2.2.13.txz ===> Creating groups. Creating group 'cups' with gid '193'. ===> Creating users Creating user 'cups' with uid '193'. Installing /packages/All/poppler-data-0.4.9_2.txz Installing /packages/All/ghostscript9-agpl-base-9.50_2.txz ===== Message from ghostscript9-agpl-base-9.50_2: -- This package installs a script named dvipdf that depends on dvips. If you want to use this script you need to install print/tex-dvipsk. Installing /packages/All/ghostscript9-agpl-x11-9.50.txz Installing /packages/All/ImageMagick6-6.9.10.90,1.txz Installing /packages/All/libinotify-20180201_1.txz ===== Message from libinotify-20180201_1: -- Libinotify functionality on FreeBSD is missing support for - detecting a file being moved into or out of a directory within the same filesystem - certain modifications to a symbolic link (rather than the file it points to.) in addition to the known limitations on all platforms using kqueue(2) where various open and close notifications are unimplemented. This means the following regression tests will fail: Directory notifications: IN_MOVED_FROM IN_MOVED_TO Open/close notifications: IN_OPEN IN_CLOSE_NOWRITE IN_CLOSE_WRITE Symbolic Link notifications: IN_DONT_FOLLOW IN_ATTRIB IN_MOVE_SELF IN_DELETE_SELF Kernel patches to address the missing directory and symbolic link notifications are available from: https://github.com/libinotify-kqueue/libinotify-kqueue/tree/master/patches You might want to consider increasing the kern.maxfiles tunable if you plan to use this library for applications that need to monitor activity of a lot of files. Installing /packages/All/atk-2.28.1.txz Installing /packages/All/hicolor-icon-theme-0.17.txz Installing /packages/All/libXi-1.7.10,1.txz Installing /packages/All/libXcomposite-0.4.5,1.txz Installing /packages/All/gtk-update-icon-cache-2.24.32.txz Installing /packages/All/gtk2-2.24.32.txz Installing /packages/All/libXmu-1.1.3,1.txz Installing /packages/All/libXaw-1.0.13_3,2.txz Installing /packages/All/rox-filer-2.11_9.txz ===== Message from rox-filer-2.11_9: -- Please note: if you get the following error while running ROX-Filer, you may be browsing a directory containing filenames that do not comply with UTF-8. (ROX-Filer:97970): GLib-CRITICAL **: file gconvert.c: line 498 (g_convert): assertion `str != NULL' failed To fix that, just set your CHARSET variable to any preferred fallback encoding (like CHARSET=iso-8859-1). Installing /packages/All/sudo-1.8.31.txz Installing /packages/All/trayer-1.1.8.txz Installing /packages/All/libGLU-9.0.1.txz Installing /packages/All/freeglut-3.0.0_2.txz ===== Message from freeglut-3.0.0_2: -- Joystick support is untested and it is unknown if it works. Do not hesitate to contact x11@FreeBSD.org if this causes issues. Installing /packages/All/gle-3.1.0_7.txz Installing /packages/All/xmlcatmgr-2.2_2.txz + Creating /usr/local/share/sgml/catalog + Registering CATALOG catalog.ports (SGML) + Creating /usr/local/share/sgml/catalog.ports + Creating /usr/local/share/xml/catalog + Registering nextCatalog catalog.ports (XML) + Creating /usr/local/share/xml/catalog.ports ===== Message from xmlcatmgr-2.2_2: -- The following catalogs are installed: 1) /usr/local/share/sgml/catalog The top level catalog for SGML stuff. It is not changed by any ports/packages except textproc/xmlcatmgr. 2) /usr/local/share/sgml/catalog.ports This catalog is for handling SGML stuff installed under /usr/local/share/sgml. It is changed by ports/packages. 3) /usr/local/share/xml/catalog The top level catalog for XML stuff. It is not changed by any ports/packages except textproc/xmlcatmgr. 4) /usr/local/share/xml/catalog.ports This catalog is for handling XML stuff installed under /usr/local/share/xml. It is changed by ports/packages. Installing /packages/All/libglade2-2.6.4_10.txz Installing /packages/All/p5-Digest-HMAC-1.03_1.txz Installing /packages/All/p5-Authen-NTLM-1.09_1.txz Installing /packages/All/p5-Encode-Locale-1.05.txz Installing /packages/All/p5-TimeDate-2.30_2,1.txz Installing /packages/All/p5-HTTP-Date-6.05.txz Installing /packages/All/p5-File-Listing-6.04_1.txz Installing /packages/All/p5-HTML-Tagset-3.20_1.txz Installing /packages/All/p5-HTML-Parser-3.72.txz Installing /packages/All/p5-IO-HTML-1.001_1.txz Installing /packages/All/p5-LWP-MediaTypes-6.04.txz Installing /packages/All/p5-URI-1.76.txz Installing /packages/All/p5-HTTP-Message-6.22.txz Installing /packages/All/p5-HTTP-Cookies-6.08.txz Installing /packages/All/p5-HTTP-Daemon-6.06.txz Installing /packages/All/p5-HTTP-Negotiate-6.01_1.txz Installing /packages/All/p5-Net-SSLeay-1.88.txz Installing /packages/All/p5-Mozilla-CA-20180117.txz Installing /packages/All/p5-Socket6-0.29.txz Installing /packages/All/p5-IO-Socket-INET6-2.72_1.txz Installing /packages/All/p5-IO-Socket-SSL-2.067.txz Installing /packages/All/p5-Net-HTTP-6.19.txz Installing /packages/All/p5-Try-Tiny-0.30.txz Installing /packages/All/p5-WWW-RobotRules-6.02_1.txz Installing /packages/All/p5-libwww-6.43.txz Installing /packages/All/jasper-2.0.16_1.txz Installing /packages/All/netpbm-10.89.01.txz Installing /packages/All/xscreensaver-5.43_1.txz SUCCEEDED 00:01:32 ------------------------------------------------------------------------------- -- Phase: check-sanity ------------------------------------------------------------------------------- /!\ fvwm-crystal-3.4.1: Makefile warnings, please consider fixing /!\ lang/python27 reached End of Life and will be removed on 2020-12-31, consider converting to a modern version of python ===> NOTICE: This port is deprecated; you may wish to reconsider installing it: Uses deprecated version of python. It is scheduled to be removed on or after 2020-09-15. SUCCEEDED 00:00:10 ------------------------------------------------------------------------------- -- Phase: pkg-depends ------------------------------------------------------------------------------- ===> fvwm-crystal-3.4.1 depends on file: /usr/local/sbin/pkg - found SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: fetch-depends ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: fetch ------------------------------------------------------------------------------- /!\ fvwm-crystal-3.4.1: Makefile warnings, please consider fixing /!\ lang/python27 reached End of Life and will be removed on 2020-12-31, consider converting to a modern version of python ===> NOTICE: This port is deprecated; you may wish to reconsider installing it: Uses deprecated version of python. It is scheduled to be removed on or after 2020-09-15. ===> fvwm-crystal-3.4.1 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by fvwm-crystal-3.4.1 for building SUCCEEDED 00:00:10 ------------------------------------------------------------------------------- -- Phase: checksum ------------------------------------------------------------------------------- /!\ fvwm-crystal-3.4.1: Makefile warnings, please consider fixing /!\ lang/python27 reached End of Life and will be removed on 2020-12-31, consider converting to a modern version of python ===> NOTICE: This port is deprecated; you may wish to reconsider installing it: Uses deprecated version of python. It is scheduled to be removed on or after 2020-09-15. ===> fvwm-crystal-3.4.1 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by fvwm-crystal-3.4.1 for building => SHA256 Checksum OK for fvwm-crystal-3.4.1.tar.gz. SUCCEEDED 00:00:11 ------------------------------------------------------------------------------- -- Phase: extract-depends ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: extract ------------------------------------------------------------------------------- /!\ fvwm-crystal-3.4.1: Makefile warnings, please consider fixing /!\ lang/python27 reached End of Life and will be removed on 2020-12-31, consider converting to a modern version of python ===> NOTICE: This port is deprecated; you may wish to reconsider installing it: Uses deprecated version of python. It is scheduled to be removed on or after 2020-09-15. ===> fvwm-crystal-3.4.1 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by fvwm-crystal-3.4.1 for building ===> Extracting for fvwm-crystal-3.4.1 => SHA256 Checksum OK for fvwm-crystal-3.4.1.tar.gz. cd /construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1 && /usr/bin/find . -depth -type d -name .svn -exec /bin/rm -f -r {} \; Extracted Memory Use: 20.37M SUCCEEDED 00:00:11 ------------------------------------------------------------------------------- -- Phase: patch-depends ------------------------------------------------------------------------------- SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: patch ------------------------------------------------------------------------------- ===> Patching for fvwm-crystal-3.4.1 ===> Applying ports patches for fvwm-crystal-3.4.1 /usr/bin/env WRKSRC=/construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1 REWARNFILE=/construction/x11-wm/fvwm-crystal/reinplace_warnings.txt /xports/Tools/scripts/sed_checked.sh -e 's|cp -r -d|cp -r|; s|cp -d|cp|' /construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1/Makefile /usr/bin/env WRKSRC=/construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1 REWARNFILE=/construction/x11-wm/fvwm-crystal/reinplace_warnings.txt /xports/Tools/scripts/sed_checked.sh -e 's|/usr/bin|/usr/local/bin|' /construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1/fvwm/preferences/* /usr/bin/gzip -nf -9 /construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1/man/*.1 SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: build-depends ------------------------------------------------------------------------------- ===> fvwm-crystal-3.4.1 depends on executable: msgfmt - found ===> fvwm-crystal-3.4.1 depends on executable: gmake - found ===> fvwm-crystal-3.4.1 depends on file: /usr/local/bin/python2.7 - found SUCCEEDED 00:00:01 ------------------------------------------------------------------------------- -- Phase: lib-depends ------------------------------------------------------------------------------- ===> fvwm-crystal-3.4.1 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: configure ------------------------------------------------------------------------------- ===> fvwm-crystal-3.4.1 depends on executable: msgfmt - found ===> fvwm-crystal-3.4.1 depends on executable: gmake - found ===> fvwm-crystal-3.4.1 depends on file: /usr/local/bin/python2.7 - found ===> fvwm-crystal-3.4.1 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so) ===> Configuring for fvwm-crystal-3.4.1 SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: build ------------------------------------------------------------------------------- ===> Building for fvwm-crystal-3.4.1 gmake[1]: Entering directory '/construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1' There is nothing to compile. gmake[1]: Leaving directory '/construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1' SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: run-depends ------------------------------------------------------------------------------- ===> fvwm-crystal-3.4.1 depends on package: fvwm>=2.5 - found ===> fvwm-crystal-3.4.1 depends on executable: bash - found ===> fvwm-crystal-3.4.1 depends on executable: hsetroot - found ===> fvwm-crystal-3.4.1 depends on executable: display - found ===> fvwm-crystal-3.4.1 depends on executable: rox - found ===> fvwm-crystal-3.4.1 depends on executable: sudo - found ===> fvwm-crystal-3.4.1 depends on executable: trayer - found ===> fvwm-crystal-3.4.1 depends on executable: xscreensaver - found ===> fvwm-crystal-3.4.1 depends on file: /usr/local/bin/python2.7 - found SUCCEEDED 00:00:00 ------------------------------------------------------------------------------- -- Phase: stage ------------------------------------------------------------------------------- ===> Staging for fvwm-crystal-3.4.1 ===> fvwm-crystal-3.4.1 depends on package: fvwm>=2.5 - found ===> fvwm-crystal-3.4.1 depends on executable: bash - found ===> fvwm-crystal-3.4.1 depends on executable: hsetroot - found ===> fvwm-crystal-3.4.1 depends on executable: display - found ===> fvwm-crystal-3.4.1 depends on executable: rox - found ===> fvwm-crystal-3.4.1 depends on executable: sudo - found ===> fvwm-crystal-3.4.1 depends on executable: trayer - found ===> fvwm-crystal-3.4.1 depends on executable: xscreensaver - found ===> fvwm-crystal-3.4.1 depends on file: /usr/local/bin/python2.7 - found ===> Generating temporary packing list gmake[1]: Entering directory '/construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1' mkdir -p tmp cp -f bin/fvwm-crystal.generate-menu tmp cp -f shared/fvwm-crystal tmp cp -f fvwm/preferences/LastChoosenRecipe tmp sed 's:FC_MENUBASEROOT="/usr/share:FC_MENUBASEROOT="/usr/local/share:' bin/fvwm-crystal.generate-menu > bin/fvwm-crystal.generate-menu.new sed 's:FC_ICONBASEROOT="/usr/share:FC_ICONBASEROOT="/usr/local/share:' bin/fvwm-crystal.generate-menu.new > bin/fvwm-crystal.generate-menu sed 's:SYSPREFS="/usr/share:SYSPREFS="/usr/local/share:' tmp/fvwm-crystal.generate-menu #!/usr/local/bin/bash # # Generate FVWM-Crystal menu from desktop and icons files provided by the applications. # # Author: Dominique Michel , 2007-2014 # # Provided as it without any garanty of any kind. # Released under the GPL version 3+ license. # # Usage: # fvwm-crystal.generate-menu : will search for all the desktop files in the system and # generate the corresponding entries and icons if they don't already exist. Make asumption # based on the install Prefix to find the existing FVWM-Crystal files. # # fvwm-crystal.generate-menu : will search only for .desktop and # generate the corresponding entry and icons if they don't already exist. # # When running this script as user, the files will be generated in FVWM_USERDIR, # as root, in FVWM_SYSTEMDIR # # Syntax from fvwm-crystal: # fvwm-crystal.generate-menu $[FVWM_SYSTEMDIR] $[FVWM_USERDIR] # # For a detailled view of the algorhythm, open generate_menu.png in your favorite # picture viewer. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Your real id your_id="$(id -un)" # If run from a shell if [ $# -lt 2 ]; then echo "Running $0 from the shell" # Where are the Fvwm-Crystal menu files: FC_MENUBASEROOT="/usr/share/fvwm-crystal/fvwm/Applications" FC_MENUBASEUSER="/.fvwm-crystal/Applications" # Where are the Fvwm-Crystal icons files: FC_ICONBASEROOT="/usr/share/fvwm-crystal/fvwm/icons/Default" FC_ICONBASEUSER="/.fvwm-crystal/icons/Default" # Test which user run the script. Ir root, install in FVWM-SYSTEMDIR, # otherwise in FVWM_USERDIR. If ROOT, existing entry will be searched # only in FVWM_SYSTEMDIR, otherwise in both FVWM_DIR. if [[ "${your_id}" == root ]]; then FC_MENUBASE="${FC_MENUBASEROOT}" FC_ICONBASE="${FC_ICONBASEROOT}" FC_MENUEXIST="${FC_MENUBASEROOT}" FC_ICONEXIST="${FC_ICONBASEROOT}" else FC_MENUBASE="/home/${your_id}${FC_MENUBASEUSER}" FC_ICONBASE="/home/${your_id}${FC_ICONBASEUSER}" FC_MENUEXIST="${FC_MENUBASEROOT} /home/${your_id}${FC_MENUBASEUSER}" FC_ICONEXIST="${FC_ICONBASEROOT} /home/${your_id}${FC_ICONBASEUSER}" fi else FC_MENUBASEROOT="$1/Applications" FC_ICONBASEROOT="$1/icons/Default" FC_MENUBASE="$2/Applications" FC_ICONBASE="$2/icons/Default" FC_MENUEXIST="${FC_MENUBASEROOT} ${FC_MENUBASE}" FC_ICONEXIST="${FC_ICONBASEROOT} ${FC_ICONBASE}" fi SIZES="22x22 32x32 48x48" # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Don't change anything past this line # # # # # # # # # # # # # # # # # # # # # # # # # # # # The locale in use LOC="$(echo $LANG|cut -d "_" -f 1)" case "$LOC" in en) LOC="" echo "Using English" ;; C) LOC="" echo "Using English" ;; POSIX) LOC="" echo "Using English" ;; *) echo "Using $LOC" ;; esac # Type of .desktop files to search for DESKTYPE="Type=Application" # Where are the preferences: if [ $# -lt 2 ]; then SYSPREFS="/usr/local/share/fvwm-crystal/fvwm/preferences" USERPREFS="/home/$your_id/.fvwm-crystal/preferences" else SYSPREFS="$1/preferences" USERPREFS="$2/preferences" fi loadpref() { # Copy default user prefs if they don't exist. if [ ! -e $USERPREFS/$1 ]; then cp $SYSPREFS/$1 $USERPREFS fi eval "$2=\"$(cat $USERPREFS/$1|grep -Ev ^#)\"" } # Load the icon files preference: loadpref IconDirs SYSTEM_ICONDIRS # Load the desktop files preference: loadpref DesktopDirs DesktopDir # Info screen echo "You are running $0 as user ${your_id}." echo " " echo "FVWM-Crystal menu entries will be installed in" echo "$FC_MENUBASE and the icons in $FC_ICONBASE." echo " " echo "The program will search for existing menu entries in $FC_MENUEXIST and for existing" echo " icons in $FC_ICONEXIST." echo "It will look for desktop file into $DesktopDir and for original icons into $SYSTEM_ICONDIRS" echo " " echo "Installing the menu entrie in $FC_MENUBASE and the icons in $FC_ICONBASE" # Parameter test if [ $# -lt 2 ]; then if [[ $1 == "" ]]; then echo "- Searching for all the desktop files in $DesktopDir" echo "" echo "This will go fast..." searchdesktop="searchallappdesktop" else echo "- Searching for $1.desktop in $DesktopDir" searchdesktop="searchoneappdesktop" fi else searchdesktop="searchallappdesktop" fi # Remove the temp files if the user press Ctrl-C USER_INTERRUPT=13 trap 'rm -f filelist filelist1; exit $USER_INTERRUPT' TERM INT # # # # # # # # # # # # # # # # # # # # # # # # # # # # Some functions # Create icons # createicon createicon() { RETVAL="no"; for j in ${FC_ICONEXIST}; do if [[ ! -z "`find ${j}/22x22 -name "$1.png"`" ]] && [[ ! -z "`find ${j}/32x32 -name "$1.png"`" ]] && [[ ! -z "`find ${j}/48x48 -name "$1.png"`" ]] ; then # icons found RETVAL="yes" fi; done if [[ $RETVAL == "yes" ]]; then # fvwm-crystal icon exists, nothing to do (1) echo "Icon for $1 exist, skip" else if [[ "$2" != "$1" ]]; then # use file hint pointed to by menu entry # test if file don't exist if [ ! -e "$2" ]; then ICONSRCFILE=`find $SYSTEM_ICONDIRS -type f -iname "$2"` else ICONSRCFILE="$2" fi if [ -z "$ICONSRCFILE" ]; then ICONSRCFILE=`find $SYSTEM_ICONDIRS -type f -iname "$2.png" -or -iname "$2.xpm" -or -iname "$2.ico" -or -iname "svg" -or -iname "$2.bmp" -or -iname "$2.gif" -or -iname "$2.jpg" -or -iname "$2.pcx" -or -iname "$2.ppm" -or -iname "$2.tga"` fi else # try to find a suitable icon in the system directories ICONSRCFILE=`find $SYSTEM_ICONDIRS -type f -iname "$1.png" -or -iname "$1.xpm" -or -iname "$1.ico" -or -iname "$1.svg" -or -iname "$2.bmp" -or -iname "$2.gif" -or -iname "$2.jpg" -or -iname "$2.pcx" -or -iname "$2.ppm" -or -iname "$2.tga"` fi if [[ "$ICONSRCFILE" != "" ]]; then for i in $ICONSRCFILE; do # convert the first found file to png of required sizes for size in ${SIZES}; do mkdir -p "${FC_ICONBASE}/${size}/apps" convert -resize ${size} "$i" "${FC_ICONBASE}/${size}/apps/$1.png" # if an icon file contain several pictures, several files are generated. Use the first one. if [ -e "${FC_ICONBASE}/${size}/apps/$1-0.png" ]; then mv "${FC_ICONBASE}/${size}/apps/$1-0.png" "${FC_ICONBASE}/${size}/apps/$1.png" fi # fix the gAMA value; this remove warninngs and spped up fvwm # fix the sRGB profile; this remove warninngs and spped up fvwm convert "${FC_ICONBASE}/${size}/apps/$1.png" -strip -resize ${size} "${FC_ICONBASE}/${size}/apps/$1.png" convert "${FC_ICONBASE}/${size}/apps/$1.png" -resize ${size} "${FC_ICONBASE}/${size}/apps/$1.png" convert "${FC_ICONBASE}/${size}/apps/$1.png" -resize ${size} "${FC_ICONBASE}/${size}/apps/$1.png" echo "Icon for $1 created as ${FC_ICONBASE}/${size}/apps/$1.png" done break done else echo "Original icon for $1 don't exist, skip." fi fi } # Search desktop files new format echo -n "" > filelist # Search for application type desktop file searchallappdesktop() { echo -n "" > filelist1 DesktopFile="$(find ${DesktopDir} -iname ?*.desktop -type f)" echo "$DesktopFile" >> filelist1 echo "Sorting out non application type desktop files." echo "This will take a while..." while read myline ; do if [[ -n "${myline}" ]]; then TestDeskType="$(grep -h '\' "${myline}")" OnlyShowIn="$(grep -h '\' "${myline}")" NotShowIn="$(grep -h '\' "${myline}")" NoDisplay="$(grep -h '\' "${myline}")" Hidden="$(grep -h '\' "${myline}")" if [[ "${TestDeskType}" == "${DESKTYPE}" ]] && [[ "${OnlyShowIn}" == "" ]] && [[ "${NotShowIn}" == "" ]] && [[ "${NoDisplay}" == "" ]] && [[ "${Hidden}" == "" ]]; then echo "${myline}" >> filelist fi fi done < filelist1 rm filelist1 } searchoneappdesktop() { echo -n "" > filelist1 DesktopFile="$(find ${DesktopDir} -iname $1.desktop -type f)" echo "$DesktopFile" >> filelist1 while read myline ; do if [[ -n "${myline}" ]]; then TestDeskType="$(grep -h '\' "${myline}")" OnlyShowIn="$(grep -h '\' "${myline}")" NotShowIn="$(grep -h '\' "${myline}")" NoDisplay="$(grep -h '\' "${myline}")" Hidden="$(grep -h '\' "${myline}")" if [[ "${TestDeskType}" == "${DESKTYPE}" ]] && [[ "${OnlyShowIn}" == "" ]] && [[ "${NotShowIn}" == "" ]] && [[ "${NoDisplay}" == "" ]] && [[ "${Hidden}" == "" ]]; then echo "${myline}" >> filelist fi fi break done < filelist1 rm filelist1 } # Search TryExec in desktop file, Exec if not found searchexecname() { EXEC="$(cat ${1} | sed -e '/Desktop Entry/,/Desktop Action/ !d' -e '/^\Exec=/!d' -e 's:^.\{0,3\}Exec=\([^ ]*\).*:\1:' -e 's:.*/::')" export EXEC } # Search for icon name in desktop file searchiconname() { ICONNAME="$(cat ${1} | sed -e '/Icon=/!d' -e 's/Icon=//')" export ICONNAME } # Search for key strings in desktop file searchkeystrings() { CATNAME="$(cat ${1} | sed -e '/Desktop Entry/,/Desktop Action/ !d' -e '/Categories=/!d' -e 's/Categories=//' -e 's/;/ /g')" export CATNAME # echo "CATNAME = $CATNAME" SOFTNAME="" if [[ "$LOC" != "" ]]; then SOFTNAME="$(cat ${1} | grep -m 1 ^Name.${LOC}. | sed -e '/^\Name....=/!d' -e 's/Name....=//' -e 's/ /_/g' -e 's:/:-:')" export SOFTNAME # else fi if [[ "$SOFTNAME" == "" ]]; then SOFTNAME="$(cat ${1} | sed -e '/Desktop Entry/,/Desktop Action/ !d' -e '/^\Name=/!d' -e 's/Name=//' -e 's/ /_/g' -e 's:/:-:')" export SOFTNAME fi COMMANDF="$(cat ${1} | sed -e '/Desktop Entry/,/Desktop Action/ !d' -e '/^\Exec=/!d' -e 's/Exec=//' -e 's:.%.*::' -e 's/ -caption//')" export COMMANDF TERMINAL="$(cat ${1} | sed -e '/Terminal=true/!d' -e 's/Terminal=//')" export TERMINAL } # Search for existing menu entry searchexist() { EntryExist="$(find ${FC_MENUEXIST} -iname *${2}~?* -type f)" if [[ "${EntryExist}" != "" ]]; then echo "${EntryExist} exist, skip" EXIST="true" export EXIST createicon $EXEC $ICONNAME else echo "${EntryExist} dont exist" EXIST="false" export EXIST createicon $EXEC $ICONNAME fi } # Generate the category path for the menu # 1) search for main category # 2) search for sub-category # special cases: if both audio and audiovideo are in the desktop file, # audio will be preferred; if both audiovideo are in the desktop file, # video will be preferred. # # main categories maincategory() { MAINCAT="" export MAINCAT case "$1" in Audio) MAINCAT="/Multimedia/Audio" export MAINCAT ;; AudioVideo | Multimedia) MAINCAT="/Multimedia/Audio-Video" export MAINCAT ;; Development) MAINCAT="/Development" export MAINCAT ;; Education) MAINCAT="/Knowledge" export MAINCAT ;; Games | Game) MAINCAT="/20~Games" export MAINCAT ;; Graphics) MAINCAT="/Graphics" export MAINCAT ;; Internet | Network) MAINCAT="/Network" export MAINCAT ;; Office) MAINCAT="/Office" export MAINCAT ;; Settings) MAINCAT="/Settings" export MAINCAT ;; System) MAINCAT="/System" export MAINCAT ;; Utilities | Utility) MAINCAT="/Utilities" export MAINCAT ;; Video) MAINCAT="/Multimedia/Video" export MAINCAT ;; # *) # MAINCAT="/Utilities" # export MAINCAT # ;; esac } # sub categories category() { SUBCAT="" export SUBCAT case "$1" in 2DGraphics) SUBCAT="/2D_Graphics" export SUBCAT ;; 3DGraphics) SUBCAT="/3D_Graphics" export SUBCAT ;; Accessibility) SUBCAT="/Accessibility" export SUBCAT ;; ActionGame) SUBCAT="/20~Action_Games" export SUBCAT ;; AdventureGame) SUBCAT="/Adventure_Games" export SUBCAT ;; Adult) SUBCAT="/Adult" export SUBCAT ;; ArcadeGame) SUBCAT="/Arcade_Games" export SUBCAT ;; Amusement) SUBCAT="/Amusement" export SUBCAT ;; Archiving) SUBCAT="/Archiving" export SUBCAT ;; Art) SUBCAT="/Art" export SUBCAT ;; ArtificialIntelligence) SUBCAT="/Artificial_Intelligence" export SUBCAT ;; Astronomy) SUBCAT="/Astronomy" export SUBCAT ;; AudioVideoEditing) SUBCAT="/Audio-Video_Editing" export SUBCAT ;; Biology) SUBCAT="/Biology" export SUBCAT ;; BlocksGame) SUBCAT="/20~Blocks_Games" export SUBCAT ;; BoardGame) SUBCAT="/Board_Games" export SUBCAT ;; Building) SUBCAT="/Building" export SUBCAT ;; Calculator) SUBCAT="/Calculators" export SUBCAT ;; Calendar) SUBCAT="/Calendars" export SUBCAT ;; CardGame) SUBCAT="/Card_Games" export SUBCAT ;; Chart) SUBCAT="/Charts" export SUBCAT ;; Chat) SUBCAT="/Chat" export SUBCAT ;; Chemistry) SUBCAT="/Chemistry" export SUBCAT ;; Clock) SUBCAT="/Clocks" export SUBCAT ;; Compression) SUBCAT="/Compression" export SUBCAT ;; ComputerScience) SUBCAT="/Computer_Science" export SUBCAT ;; ConsoleOnly) SUBCAT="/Console_Only" export SUBCAT ;; Construction) SUBCAT="/Construction" export SUBCAT ;; ContactManagement) SUBCAT="/Contact_Management" export SUBCAT ;; Core) SUBCAT="/Core" export SUBCAT ;; DataVisualization) SUBCAT="/Data_Visualization" export SUBCAT ;; Database) SUBCAT="/Databases" export SUBCAT ;; Dialup) SUBCAT="/Dial-up" export SUBCAT ;; Debugger) SUBCAT="/Debuggers" export SUBCAT ;; DesktopSettings) SUBCAT="/Desktop_Settings" export SUBCAT ;; Dialup) SUBCAT="/Dialup" export SUBCAT ;; Dictionary) SUBCAT="/Dictionaries" export SUBCAT ;; DiscBurning) SUBCAT="/Disc_Burning" export SUBCAT ;; Documentation) SUBCAT="/Documentation" export SUBCAT ;; Economy) SUBCAT="/Economy" export SUBCAT ;; Electricity) SUBCAT="/Electricity" export SUBCAT ;; Electronics) SUBCAT="/Electronics" export SUBCAT ;; Email) SUBCAT="/13~Email" export SUBCAT ;; Emulator) SUBCAT="/Emulators" export SUBCAT ;; Engineering) SUBCAT="/Engineering" export SUBCAT ;; Feed) SUBCAT="/Feed" export SUBCAT ;; FileManager) SUBCAT="/File_Managers" export SUBCAT ;; FileSystem) SUBCAT="/File_Systems" export SUBCAT ;; FileTools) SUBCAT="/File_Tools" export SUBCAT ;; FileTransfer) SUBCAT="/File_Transfer" export SUBCAT ;; Finance) SUBCAT="/Finance" export SUBCAT ;; FlowChart) SUBCAT="/Flow_Charts" export SUBCAT ;; Geography) SUBCAT="/Geography" export SUBCAT ;; Geology) SUBCAT="/Geology" export SUBCAT ;; Geoscience) SUBCAT="/Geoscience" export SUBCAT ;; GNOME) SUBCAT="" export SUBCAT ;; GTK) SUBCAT="" export SUBCAT ;; GUIDesigner) SUBCAT="/GUI_Designers" export SUBCAT ;; HamRadio) SUBCAT="/Ham_Radio" export SUBCAT ;; HardwareSettings) SUBCAT="/Hardware_Settings" export SUBCAT ;; History) SUBCAT="/History" export SUBCAT ;; Humanities) SUBCAT="/Humanities" export SUBCAT ;; IDE) SUBCAT="/IDE" export SUBCAT ;; ImageProcessing) SUBCAT="/Image_Processing" export SUBCAT ;; IRCClient) SUBCAT="/IRC_Clients" export SUBCAT ;; InstantMessaging) SUBCAT="/Instant_Messaging" export SUBCAT ;; Java) SUBCAT="/Java" export SUBCAT ;; KDE) SUBCAT="" export SUBCAT ;; KDE-settins-hardware) SUBCAT="" export SUBCAT ;; KidsGame) SUBCAT="/Kids_Games" export SUBCAT ;; Languages) SUBCAT="/Languages" export SUBCAT ;; Literature) SUBCAT="/Literature" export SUBCAT ;; LogicGame) SUBCAT="/Logic_Games" export SUBCAT ;; Maps) SUBCAT="/Maps" export SUBCAT ;; Math) SUBCAT="/Math" export SUBCAT ;; MedicalSoftware) SUBCAT="/Medical_Softwares" export SUBCAT ;; Midi) SUBCAT="/MIDI" export SUBCAT ;; Mixer) SUBCAT="/10~Mixers" export SUBCAT ;; Monitor) SUBCAT="/Monitors" export SUBCAT ;; Motif) SUBCAT="/Motif" export SUBCAT ;; Music) SUBCAT="/Music" export SUBCAT ;; News) SUBCAT="/7~News" export SUBCAT ;; NumericalAnalysis) SUBCAT="/Numerical_Analysis" export SUBCAT ;; OCR) SUBCAT="/OCR" export SUBCAT ;; P2P) SUBCAT="/P2P" export SUBCAT ;; PackageManager) SUBCAT="/Package_Managers" export SUBCAT ;; ParallelComputing) SUBCAT="/Parallel_Computing" export SUBCAT ;; PDA) SUBCAT="/PDA" export SUBCAT ;; Photography) SUBCAT="/Photography" export SUBCAT ;; Physics) SUBCAT="/Physics" export SUBCAT ;; Player) SUBCAT="/Players" export SUBCAT ;; Presentation) SUBCAT="/Presentations" export SUBCAT ;; Printing) SUBCAT="/Printing" export SUBCAT ;; Profiling) SUBCAT="/Profiling" export SUBCAT ;; ProjectManagement) SUBCAT="/Project_Management" export SUBCAT ;; Publishing) SUBCAT="/Publishing" export SUBCAT ;; QT) SUBCAT="" export SUBCAT ;; RasterGraphics) SUBCAT="/Raster_Graphics" export SUBCAT ;; Recorder) SUBCAT="/Recorders" export SUBCAT ;; RemoteAccess) SUBCAT="/Remote_Access" export SUBCAT ;; RevisionControl) SUBCAT="/Revision_Control" export SUBCAT ;; Robotics) SUBCAT="/Robotics" export SUBCAT ;; RolePlaying) SUBCAT="/Role_Playing" export SUBCAT ;; Scanning) SUBCAT="/Scanning" export SUBCAT ;; Science) SUBCAT="/Science" export SUBCAT ;; Security) SUBCAT="/Security" export SUBCAT ;; Sequencer) SUBCAT="/Sequencers" export SUBCAT ;; Shooter) SUBCAT="/Shooter" export SUBCAT ;; Simulation) SUBCAT="/Simulation" export SUBCAT ;; Spirituality) SUBCAT="/Spirituality" export SUBCAT ;; Sports) SUBCAT="/Sports" export SUBCAT ;; SportsGame) SUBCAT="/Sports_Games" export SUBCAT ;; Spreadsheet) SUBCAT="/Spreadsheets" export SUBCAT ;; StrategyGame) SUBCAT="/Strategy_Games" export SUBCAT ;; Sun-Supported) SUBCAT="" export SUBCAT ;; Telephony) SUBCAT="/5~Telephony" export SUBCAT ;; TelephonyTools) SUBCAT="/Telephony_Tools" export SUBCAT ;; TerminalEmulator) SUBCAT="/Terminals" export SUBCAT ;; TextEditor) SUBCAT="/Text_Editors" export SUBCAT ;; TextTools) SUBCAT="/Text_Tools" export SUBCAT ;; Translation) SUBCAT="/Translation" export SUBCAT ;; Tuner) SUBCAT="/Tuners" export SUBCAT ;; TV) SUBCAT="/TV" export SUBCAT ;; VectorGraphics) SUBCAT="/Vector_Graphics" export SUBCAT ;; VideoConference) SUBCAT="/Webcam" export SUBCAT ;; Viewer) SUBCAT="/Viewers" export SUBCAT ;; WebBrowser) SUBCAT="/10~Web_Browsers" export SUBCAT ;; WebDevelopment) SUBCAT="/Web_Development" export SUBCAT ;; WordProcessor) SUBCAT="/Word_Processors" export SUBCAT ;; XFCE) SUBCAT="" export SUBCAT ;; X-KDE*) SUBCAT="" export SUBCAT ;; X-Red-Hat*) SUBCAT="" export SUBCAT ;; X-"$2") SUBCAT="/$2" export SUBCAT ;; *) SUBCAT="" export SUBCAT ;; esac } gen_category() { # Test for X-Category MAIN_CAT="" SUB_CAT="" if [[ "$1" != "" ]]; then for i in $1; do XEXIST="$(echo "$i" | sed -e 's/.*X-.*/X-/')" if [[ "$XEXIST" == "X-" ]] then XCAT="$(echo "$i" | sed -e 's/X-//')" category "$i" "$XCAT" SUB_CAT="${SUB_CAT} ${SUBCAT}" export SUB_CAT else maincategory "$i" MAIN_CAT="${MAIN_CAT} ${MAINCAT}" export MAIN_CAT category "$i" SUB_CAT="${SUB_CAT} ${SUBCAT}" export SUB_CAT fi done else case "$2" in /usr/share/applnk*) CATNAME="$(echo ${2} | sed -e 's:/usr/share/applnk::' -e 's:/: :g')" ;; /usr/share/gnome/apps*) CATNAME="$(echo ${2} | sed -e 's:/usr/share/gnome/apps::' -e 's:/: :g')" ;; /usr/kde/3.5/share/applnk*) CATNAME="$(echo ${2} | sed -e 's:/usr/kde/3.5/share/applnk::' -e 's:/: :g')" ;; /usr/kde/3.5/share/apps/kappfinder/apps*) CATNAME="$(echo ${2} | sed -e 's:/usr/kde/3.5/share/apps/kappfinder/apps::' -e 's:/: :g')" ;; *) CATNAME="" ;; esac for i in $CATNAME; do XEXIST="$(echo "$i" | sed -e 's/.*X-.*/X-/')" if [[ "$XEXIST" == "X-" ]] then XCAT="$(echo "$i" | sed -e 's/X-//')" category "$i" "$XCAT" SUB_CAT="${SUB_CAT} ${SUBCAT}" export SUB_CAT else maincategory "$i" MAIN_CAT="${MAIN_CAT} ${MAINCAT}" export MAIN_CAT category "$i" SUB_CAT="${SUB_CAT} ${SUBCAT}" export SUB_CAT fi done fi } echo -n "" > non_valid_cat.log check_category() { # Check at it is only one main cat in the menu TMP_CAT="$(echo $1 | sed -e 's/ //g')" MAIN__CAT="${MAIN_CAT}" if [[ "$TMP_CAT" != "" ]]; then AV="" A="" V="" for i in $1; do if [[ "$i" == "/Multimedia/Audio-Video" ]]; then AV="AV" fi if [[ "$i" == "/Multimedia/Audio" ]]; then A="A" fi if [[ "$i" == "/Multimedia/Video" ]]; then V="V" fi done if [[ "${AV}" == "AV" ]] && [[ "${A}" == "A" ]] && [[ "${V}" == "V" ]]; then MAIN__CAT="" echo "$2" >> non_valid_cat.log else if [[ "${AV}" == "AV" ]] && [[ "${A}" == "A" ]]; then MAIN__CAT="/Multimedia/Audio" fi if [[ "${AV}" == "AV" ]] && [[ "${V}" == "V" ]]; then MAIN__CAT="/Multimedia/Video" fi fi else MAIN__CAT="" echo "$2" >> non_valid_cat.log fi CATEGORY="" for i in $MAIN__CAT; do if [[ "$MAIN__CAT" != "" ]]; then SUB_CAT2="$(echo $3 | sed -e 's/ //g')" CATEGORY="$i$SUB_CAT2" fi break done export CATEGORY } # Write a FVWM-Crystal menu entry # Usage: gen_entry # Usage: gen_consoleentry gen_entry() { mkdir -p "${FC_MENUBASE}${3}" FNAME="${FC_MENUBASE}$3/~$1~$2" ( echo "#!/bin/sh" echo echo "exec $4 \$@" ) > "${FNAME}" chmod +x "${FNAME}" } gen_consoleentry() { mkdir -p "${FC_MENUBASE}${3}" FNAME="${FC_MENUBASE}$3/~$1~$2" ( echo "#!/bin/sh" echo echo "exec FvwmCommand 'A $4 \$@'" ) > "${FNAME}" chmod +x "${FNAME}" } # # # # # # # # # # # # # # # # # # # # # # # # # # # # Do something now $searchdesktop $1 # Main loop while read myline ; do searchexecname "${myline}" searchiconname "${myline}" searchexist "${myline}" $EXEC if [[ "$EXIST" == "false" ]]; then searchkeystrings "${myline}" $USERLOC gen_category "$CATNAME" "${myline}" check_category "$MAIN_CAT" "${myline}" "$SUB_CAT" if [[ "$MAIN__CAT" != "" ]]; then echo "Generation of menu entry for ${EXEC}" if [[ "$TERMINAL" == "true" ]]; then gen_consoleentry "$EXEC" "$SOFTNAME" "$CATEGORY" "$COMMANDF" else gen_entry "$EXEC" "$SOFTNAME" "$CATEGORY" "$COMMANDF" fi fi fi done < filelist rm filelist echo "" echo "All is done" echo "" if [ $# -ge 2 ]; then rm non_valid_cat.log DesktopDir=`awk -v ORS="" '!/(#|^$)/{print $0"/* "}' $USERPREFS/DesktopDirs` echo "Saving the date of the last installed desktop file in ${FVWM_USERDIR}/preferences/DateLastApp" echo "Reloading the menu..." echo "SetEnv DateLastApp \"`stat --printf="%y\n" ${DesktopDir} | sort -n -r | head -1`\"" > ${FVWM_USERDIR}/preferences/DateLastApp FvwmCommand 'ReloadRecipe' else echo "You will find the list of the desktop files with non valid Main Category in non_valid_cat.log" fi sed 's:/usr/bin:/usr/local/bin:' tmp/fvwm-crystal #!/bin/sh /usr/local/bin/fvwm-crystal sed 's:/usr/bin:/usr/local/bin:' fvwm/preferences/LastChoosenRecipe InfoStoreAdd Fvwm_Crystal_Recipe '/usr/local/bin/../share/fvwm-crystal/fvwm/recipes/Default' mkdir -p /construction/x11-wm/fvwm-crystal/stage/usr/local/share/doc/fvwm-crystal/addons /construction/x11-wm/fvwm-crystal/stage/usr/local/share/doc/fvwm-crystal-`grep Version fvwm/components/functions/About | cut -d" " -f 4 | sed -e 's:"::'`/html install -m 644 addons/* /construction/x11-wm/fvwm-crystal/stage/usr/local/share/doc/fvwm-crystal/addons install -m 644 AUTHORS Contribute NEWS ChangeLog Export.README README INSTALL /construction/x11-wm/fvwm-crystal/stage/usr/local/share/doc/fvwm-crystal-`grep Version fvwm/components/functions/About | cut -d" " -f 4 | sed -e 's:"::'` cp -r doc/* /construction/x11-wm/fvwm-crystal/stage/usr/local/share/doc/fvwm-crystal-`grep Version fvwm/components/functions/About | cut -d" " -f 4 | sed -e 's:"::'` Installing fvwm-crystal 3.4.1 to /usr/local mkdir -p /construction/x11-wm/fvwm-crystal/stage/usr/local/bin /construction/x11-wm/fvwm-crystal/stage/usr/local/share/fvwm-crystal/fvwm /construction/x11-wm/fvwm-crystal/stage/usr/local/share/xsessions /construction/x11-wm/fvwm-crystal/stage/etc/X11/Sessions /construction/x11-wm/fvwm-crystal/stage/etc/sudoers.d install -m 755 bin/fvwm-crystal.apps bin/fvwm-crystal.wallpaper bin/fvwm-crystal bin/fvwm-crystal.infoline bin/fvwm-crystal.mplayer-wrapper bin/fvwm-crystal.play-movies bin/fvwm-crystal.videomodeswitch- bin/fvwm-crystal.videomodeswitch+ /construction/x11-wm/fvwm-crystal/stage/usr/local/bin install -m 755 tmp/fvwm-crystal.generate-menu /construction/x11-wm/fvwm-crystal/stage/usr/local/bin cp -r fvwm/* /construction/x11-wm/fvwm-crystal/stage/usr/local/share/fvwm-crystal/fvwm/ cp tmp/fvwm-crystal /construction/x11-wm/fvwm-crystal/stage/etc/X11/Sessions cp shared/fvwm-crystal.desktop /construction/x11-wm/fvwm-crystal/stage/usr/local/share/xsessions cp shared/fvwm-crystal.sudoers.d /construction/x11-wm/fvwm-crystal/stage/etc/sudoers.d/fvwm-crystal chmod 440 /construction/x11-wm/fvwm-crystal/stage/etc/sudoers.d/fvwm-crystal cp -r man/*.1.gz /construction/x11-wm/fvwm-crystal/stage/usr/local/man/man1 cp -f tmp/LastChoosenRecipe fvwm/preferences/LastChoosenRecipe gmake[1]: Nothing to be done for 'install-doc'. gmake[1]: Leaving directory '/construction/x11-wm/fvwm-crystal/fvwm-crystal-3.4.1' ====> Compressing man pages (compress-man) ====> Running Q/A tests (stage-qa) Warning: You have disabled the licenses framework with DISABLE_LICENSES, unable to run checks Warning: Possible REINPLACE_CMD issues sed failed: file content unchanged from backup: Makefile sed failed: file content unchanged from backup: fvwm/preferences/AutoHibernation sed failed: file content unchanged from backup: fvwm/preferences/DefaultDesktopManager sed failed: file content unchanged from backup: fvwm/preferences/DefaultFocusPolicy sed failed: file content unchanged from backup: fvwm/preferences/DefaultMixer sed failed: file content unchanged from backup: fvwm/preferences/DefaultMusicPlayer sed failed: file content unchanged from backup: fvwm/preferences/DefaultSoundCard sed failed: file content unchanged from backup: fvwm/preferences/DefaultTerminal sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Amiga sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Clean sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Corner sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Default sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.DefaultACPI sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Dock sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.LapLeft sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.LapLeftACPI sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.LapRight sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.LapRightACPI sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Light sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Nebulae sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.OldSchool sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.SideLine sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.SilentHacker sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.Thin sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.TopDown sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.TopLine sed failed: file content unchanged from backup: fvwm/preferences/DeskIconsSign.WingCommander sed failed: file content unchanged from backup: fvwm/preferences/DeskPageX sed failed: file content unchanged from backup: fvwm/preferences/DesktopDirs sed failed: file content unchanged from backup: fvwm/preferences/DesktopMenu sed failed: file content unchanged from backup: fvwm/preferences/EDITOR sed failed: file content unchanged from backup: fvwm/preferences/FileBrowser1 sed failed: file content unchanged from backup: fvwm/preferences/FileBrowser2 sed failed: file content unchanged from backup: fvwm/preferences/FullScreenApps sed failed: file content unchanged from backup: fvwm/preferences/HandleWidth sed failed: file content unchanged from backup: fvwm/preferences/IconDirs sed failed: file content unchanged from backup: fvwm/preferences/IconsType sed failed: file content unchanged from backup: fvwm/preferences/LastChoosenButtonModel sed failed: file content unchanged from backup: fvwm/preferences/LastChoosenColorset sed failed: file content unchanged from backup: fvwm/preferences/LastChoosenWallpaper sed failed: file content unchanged from backup: fvwm/preferences/LastChoosenWindowDecoration sed failed: file content unchanged from backup: fvwm/preferences/MediaDirectories sed failed: file content unchanged from backup: fvwm/preferences/MediaMenuIcons sed failed: file content unchanged from backup: fvwm/preferences/MenuFont sed failed: file content unchanged from backup: fvwm/preferences/MenuFontSize sed failed: file content unchanged from backup: fvwm/preferences/MenuFontStyle sed failed: file content unchanged from backup: fvwm/preferences/NotificationArea-Width sed failed: file content unchanged from backup: fvwm/preferences/NotificationAreaManager sed failed: file content unchanged from backup: fvwm/preferences/NotificationAreaWidth sed failed: file content unchanged from backup: fvwm/preferences/PanelFont sed failed: file content unchanged from backup: fvwm/preferences/PanelFontSize sed failed: file content unchanged from backup: fvwm/preferences/PanelFontStyle sed failed: file content unchanged from backup: fvwm/preferences/PrivilegedTerminals sed failed: file content unchanged from backup: fvwm/preferences/QuakeConsoleHeight sed failed: file content unchanged from backup: fvwm/preferences/QuakeConsoleTerminal sed failed: file content unchanged from backup: fvwm/preferences/ShowDirectories sed failed: file content unchanged from backup: fvwm/preferences/ShowPartitions sed failed: file content unchanged from backup: fvwm/preferences/ShowXDG sed failed: file content unchanged from backup: fvwm/preferences/SilentOps sed failed: file content unchanged from backup: fvwm/preferences/Startup sed failed: file content unchanged from backup: fvwm/preferences/TitleFont sed failed: file content unchanged from backup: fvwm/preferences/TitleFontSize sed failed: file content unchanged from backup: fvwm/preferences/TitleFontStyle sed failed: file content unchanged from backup: fvwm/preferences/XDGMenu SUCCEEDED 00:00:07 ------------------------------------------------------------------------------- -- Phase: package ------------------------------------------------------------------------------- ===> Building package for fvwm-crystal-3.4.1 file sizes/checksums [4320]: 0% file sizes/checksums [4320]: 2% file sizes/checksums [4320]: 4% file sizes/checksums [4320]: 6% file sizes/checksums [4320]: 9% file sizes/checksums [4320]: 11% file sizes/checksums [4320]: 13% file sizes/checksums [4320]: 16% file sizes/checksums [4320]: 18% file sizes/checksums [4320]: 20% file sizes/checksums [4320]: 23% file sizes/checksums [4320]: 25% file sizes/checksums [4320]: 27% file sizes/checksums [4320]: 30% file sizes/checksums [4320]: 32% file sizes/checksums [4320]: 34% file sizes/checksums [4320]: 37% file sizes/checksums [4320]: 39% file sizes/checksums [4320]: 41% file sizes/checksums [4320]: 43% file sizes/checksums [4320]: 46% file sizes/checksums [4320]: 48% file sizes/checksums [4320]: 50% file sizes/checksums [4320]: 53% file sizes/checksums [4320]: 55% file sizes/checksums [4320]: 57% file sizes/checksums [4320]: 60% file sizes/checksums [4320]: 62% file sizes/checksums [4320]: 64% file sizes/checksums [4320]: 67% file sizes/checksums [4320]: 69% file sizes/checksums [4320]: 71% file sizes/checksums [4320]: 74% file sizes/checksums [4320]: 76% file sizes/checksums [4320]: 78% file sizes/checksums [4320]: 81% file sizes/checksums [4320]: 83% file sizes/checksums [4320]: 85% file sizes/checksums [4320]: 87% file sizes/checksums [4320]: 90% file sizes/checksums [4320]: 92% file sizes/checksums [4320]: 94% file sizes/checksums [4320]: 97% file sizes/checksums [4320]: 99% file sizes/checksums [4320]: 100% packing files [4320]: 0% packing files [4320]: 2% packing files [4320]: 4% packing files [4320]: 6% packing files [4320]: 9% packing files [4320]: 11% packing files [4320]: 13% packing files [4320]: 16% packing files [4320]: 18% packing files [4320]: 20% packing files [4320]: 23% packing files [4320]: 25% packing files [4320]: 27% packing files [4320]: 30% packing files [4320]: 32% packing files [4320]: 34% packing files [4320]: 37% packing files [4320]: 39% packing files [4320]: 41% packing files [4320]: 43% packing files [4320]: 46% packing files [4320]: 48% packing files [4320]: 50% packing files [4320]: 53% packing files [4320]: 55% packing files [4320]: 57% packing files [4320]: 60% packing files [4320]: 62% packing files [4320]: 64% packing files [4320]: 67% packing files [4320]: 69% packing files [4320]: 71% packing files [4320]: 74% packing files [4320]: 76% packing files [4320]: 78% packing files [4320]: 81% packing files [4320]: 83% packing files [4320]: 85% packing files [4320]: 87% packing files [4320]: 90% packing files [4320]: 92% packing files [4320]: 94% packing files [4320]: 97% packing files [4320]: 99% packing files [4320]: 100% packing directories [2]: 0% packing directories [2]: 100% SUCCEEDED 00:00:07 TOTAL TIME 00:02:29