Warning: there may be occasional oddness due to css and blog edits. **KNOWN ISSUE: possible hidden text**
Showing posts with label poudriere. Show all posts
Showing posts with label poudriere. Show all posts

Saturday, February 15, 2025

Remote poudriere build

What I had forgot to include in a previous blog post was how I managed to successfully setup poudriere on atlas for use with remote package serving to ichigo.  I initially followed a Vermaden blog post Simple FreeBSD poudriere harvester guide which helped me get the majority of the setup configured, adjusted.  I attempted to leave a comment on the blog post but for whatever reason it failed, so I am going to provide that here as well.  The process is not difficult but there is at least one detail left out which could be discernable to some but it took a little for me to discover.

Vermaden does a very good job for the community to provide insights and guides and is part why I chose to write my own blog as well, beginning years ago.  It became obvious to me that writing about my experiences on FreeBSD would help me to remember and help others to find their way more easily.  I would recommend to any FreeBSD user to do the same for at least the same or similar reasons, it may seem a no-brainer.

The essentials of Vermaden's blog which I needed were as follows:

Adjust the rc.conf (or rc.conf.local) file to include:

  sshd_enable=YES
  nginx_enable=YES

Those lines will permit a web browser such as firefox to view the progress and results of the current poudriere bulk build, and permit ssh including access to X windows applications via ssh -X and sftp for any LAN file transfer needs.

Add needed packages:
  poudriere
  nginx
  git-lite

Although when I read the blog post I believe I already had those installed and some other things he mentions.

The most important step that I needed was for the pkg signing which is a series of steps, each command as root:

# mkdir -p   /usr/local/etc/ssl/keys /usr/local/etc/ssl/certs /usr/ports/distfiles
# chmod 0600 /usr/local/etc/ssl/keys
# openssl genrsa -out /usr/local/etc/ssl/keys/poudriere.key 4096
# openssl rsa -in /usr/local/etc/ssl/keys/poudriere.key -pubout -out /usr/local/etc/ssl/certs/poudriere.cert

I wasn't sure that mkdir would create multiple paths in one command, and I already had /usr/ports/distfiles, so I did them individually but testing a moment ago I now know I could have just copied that line entirely.  Those steps above are perfect for the poudriere build machine but a detail that is essential here which can be done now or anytime before trying to use the signed pkgs, is to copy the /usr/local/etc/ssl/certs/poudriere.cert to the client box(es).  This is one thing that is missing and tripped me up, surely it is assumed and obvious but not to me right then.

Since I already had poudriere running previously for use on the same machine, a poudriere.conf already existed.  I edited the file to be sure to add and revise as needed the lines he provided:

  ZPOOL=zroot
  BASEFS=/usr/local/poudriere
  ZROOTFS=/dev/null
 #FREEBSD_HOST=ftp://ftp.freebsd.org
  POUDRIERE_DATA=/usr/local/poudriere/data
  CHECK_CHANGED_OPTIONS=verbose
  CHECK_CHANGED_DEPS=yes
  PKG_REPO_SIGNING_KEY=/usr/local/etc/ssl/keys/poudriere.key
  URL_BASE=http://172.16.0.12
  USE_TMPFS=all
  TMPFS_LIMIT=5
  MAX_MEMORY=4
  MAX_FILES=2048
  DISTFILES_CACHE=/usr/ports/distfiles
  KEEP_OLD_PACKAGES=yes
  KEEP_OLD_PACKAGES_COUNT=2
  CHECK_CHANGED_OPTIONS=verbose
  CHECK_CHANGED_DEPS=yes
  CCACHE_DIR=/var/cache/ccache
  RESTRICT_NETWORKING=yes
  

Since I use the same ports tree for the poudriere machine and also for poudriere, I did not create a seperate ports tree for it.  I also have the /etc/makeconf symbolic linked to /usr/local/etc/poudriere.d/make.conf because I want local things built to match what poudriere builds.  This way hopefully there is no difference but automation.

I setup nginx as described in Vermaden's blog post, possibly from a previous nginx poudriere progress view attempt, only needed to check it was accurate.  I have also had ccache setup for ages as well, so did not need to look at that much either.

One of the last steps in this whole process is to define the repos.  I had already setup poudriere.conf in /usr/local/etc/pkg/repos for the build machine to use the pkgs it makes, but I revised it to use the signature, the two lines were added.

poudriere: {
        url      : file:///usr/local/poudriere/data/packages/14amd64-default,
        signature_type: "pubkey",
        pubkey: "/usr/local/etc/ssl/certs/poudriere.cert",
        enabled  : yes,
        priority : 10
}

On the client machine, I needed a new pkg repo configuration file.

atlas: {
  url: "http://172.16.0.12/packages/14amd64-default",
  signature_type: "pubkey",
  pubkey: "/usr/local/etc/ssl/certs/poudriere.cert",
  enabled: yes,
  priority: 100
}

Since when I originally followed the instructions I missed placing a cert file on my client machine, this setup failed inexplicably.  I used pkg -v -v update -f to try to figure it out.  The results did not clearly say that I had no cert or that that was the issue, because something else was interfering.  I had pf setup on the poudriere build machine, and this halted the client from requesting anything, it literally silently failed, no explanation.  I probably had it in the back of my mind that pf could be the reason, so I eventually tried service pf stop and tried again, this time it was able to update the meta file and others.  Now was when it took a bit to figure out that I needed to copy the cert file to the client.  Once everything was in place, all I needed to remember was to periodically disable pf as needed.  I knew I could permanently cut a hole in pf for the pkg update or install requests but that was something for another time.

Sunday, November 3, 2024

Bulklist blacklist deblacked

Using poudriere locally can allow you to define the ports you install the way you want them.  My present /etc/make.conf controls some defaults and many configurations, I discuss and reveal the iteration as of August 9th at make.conf in control.  The configurations, if I make rmconfig will revert not to the ports normal defaults but those settings I prefer which I set for some of them within the make.conf file.

Collecting the installed ports is as easy as pkg origin >> /var/tmp/installed-pkgs-gross but my script takes this and complicates it substantially so that my bulk list contains only what I desire regardless of what is actually installed.  It also makes category lists and a list which excludes any installed games.  In the past I have installed nearly every game in ports, aside from those which require a CDROM or some other special thing I may not possess.

There are some specific excludes from the final bulk list files which avoids some versioned ports which are largely build dependencies, or can be more easily updated if bulk lists do not include a versioned port.  You can see below in the organizing section that I avoid intel drivers (I have AMD), llvm, qt5, kf5.  java, anything in the lang category, python specifically, bash, and samba.

#!/bin/sh
echo "Clearing /var/tmp p-keglist files.."; sleep 3
rm /var/tmp/installed-pkgs-gross 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-added 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-sorted 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-ungamed 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-* 2>/dev/null &&echo -n "."
echo;echo "--"; echo


echo "Backing up installed-gross list to /var/tmp"
cp ~/installed-pkgs-gross /var/tmp/installed-pkgs-gross.backup
echo;echo "--"; echo


echo "Gathering list of installed pkgs.."
pkg origin >> /var/tmp/installed-pkgs-gross
echo;echo "--"; echo


echo "Organizing the list.."
cat /var/tmp/installed-pkgs-gross | sort -d | sort -u | \
sed -E 's:^graphics\/gpu-firmware-intel-kmod$::'| \
sed -E 's:^devel\/llvm[0-9]+::'| \
sed -E 's:[a-z,1,\-]+\/qt5-.+::' | \
sed -E 's:[a-z,1,\-]+\/kf5-.+::' | \
sed -E 's:^java\/.+$::' | \
sed -E 's:^lang\/.+$::' | \
sed -E 's:^lang\/python$::' | \
sed \
-e 's:shells\/bash::' \
-e 's:net\/samba[a-z,\-]+[0-9]+::' \
>> /var/tmp/installed-pkgs-gross-added &&echo -n "."
cat /var/tmp/installed-pkgs-gross-added | \
sort -u -d > /var/tmp/installed-pkgs-gross-sorted && echo -n "."
mv /var/tmp/installed-pkgs-gross-sorted /var/tmp/installed-pkgs-gross &&echo -n "."
cp /var/tmp/installed-pkgs-gross ~ &&echo -n "."
echo;echo "--"; echo


echo "Dividing the list.."; sleep 3
category=0

for portorigin in `cat /var/tmp/installed-pkgs-gross`
do
category=`echo $portorigin | cut -d / -f 1`
echo $portorigin >> /var/tmp/installed-pkgs-$category

#echo $category $portorigin
echo $portorigin
if ! [ "$category" = "games" ] ; then
echo $portorigin >> /var/tmp/installed-pkgs-ungamed
fi
done
echo;echo "--"; echo


rm /var/tmp/installed-pkgs-gross-added 2>/dev/null

echo "Finalizing and checking list sizes, one looong moment.." ;sleep 2
for listfile in `ls -1 /var/tmp/installed-pkgs-*`
do
wc -l $listfile |sed -e 's:\/var\/tmp\/::'
done

cp /var/tmp/installed-pkgs-* ~
echo;echo "--"; echo

The blacklist is still rather extensive, it has too many lines still in the file but commented out with a pound symbol (#).  A few of them I have toggled between commented and active, usually rust and firefox and veloren, which tend to be a bit consuming.  I have also changed my mind about libressl and some other ports, those all likely commented right now.  Aside from the lines which are port origins with a # as the first character, I have chosen to include a lot of comments to help document why something is in the file.  It is most certainly good practice to include documentation with any comment mechanism the file format allows, you may not review a file for quite a while after you initially create it.  Frequently the purpose may be lost to time, so add comments at creation so you won't have to remember what you did or why, a good safeguard.

# Doesn't exist
devel/libtar

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  oddness with py39 something issue			#
#_______________________________________________________#
graphics/lensfun


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these presently fail					#
#_______________________________________________________#
#games/wesnoth
#games/abstreet
#games/opendungeons
#games/jinput
#graphics/ocaml-images
#emulators/wine
#www/py-aiohttp
#devel/opengrok
#games/DDNet
#games/libretro-fbneo
#www/nspluginwrapper
#games/orthorobot


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to use version 7 and avoid 6			#
#_______________________________________________________#
graphics/ImageMagick6
graphics/ImageMagick6-nox11


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  use 17 rather than 16 or others.			#
#_______________________________________________________#
www/node16


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  These do not exist in ports				#
#_______________________________________________________#
#sysutils/pcbsd-libsh
#x11-fonts/font-bitstream-speedo
#x11-fonts/fontconfig-reference
#x11-wm/fvwm-crystal
net/libmms


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Expired/Deprecated/Unsupported upstream		#
#_______________________________________________________#
multimedia/schroedinger


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Except when using testport Build outside poudriere	#
# minetest fork of irrlicht does not conflict		#
#_______________________________________________________#
databases/dbeaver-dev
deskutils/flameshot-dev
devel/distcc-dev
games/eternallands-data
games/eternallands-dev
games/godot-dev
games/lutris-freebsd
games/minetest-dev
games/minetestmapper-dev
#games/ryzomcore
graphics/feh-dev
graphics/libthorvg
x11-toolkits/irrlicht-minetest
x11-wm/fvwm3-dev


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Build without poudriere: tigersharke/Ported_Software #
#_______________________________________________________#
audio/easytag
databases/dbeaver
deskutils/flameshot
games/el
games/el-data
games/eternallands-data
games/godot
games/lutris
games/minetest
games/minetestmapper
games/minetest_game
graphics/feh
graphics/libthorvg
net/libmms
x11-toolkits/irrlicht
x11-wm/fvwm3


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid bulk build of these silly things		#
# These or others get added by bulk list creation	#
#_______________________________________________________#
games/pink-pony
games/cowsay
games/neo-cowsay
games/xcowsay
games/coffeebreak
games/powdertoy
games/powder-toy
games/powdertoy-devel
games/powder-toy-devel
games/sex
games/weebsay


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  builds but doesn't work				#
#_______________________________________________________#
games/excido


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  toggle these - often cause troubles or take FOREVER	#
#_______________________________________________________#
#games/veloren-weekly
#games/veloren
www/firefox
#lang/rust
lang/rust-nightly
#x11-fonts/iosevka
#lang/rust-bootstrap
#devel/efl
#x11-wm/enlightenment
#devel/rust-cbindgen


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  conflicts in port or its depends			#
#_______________________________________________________#
#java/jmf
#devel/typetools
#games/openarena
#games/slade
#games/golly
#games/gnubik
#games/openmw


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to force more current version of llvm 		#
#  Discover what breaks and adjust accordingly.		#
#  first is "default" version, unversioned LLVM		#
#							#
#  Some things require llvm15				#
#_______________________________________________________#
#devel/llvm
#devel/llvm17@default
#
devel/llvm70
devel/llvm80
devel/llvm90
devel/llvm10
devel/llvm11
devel/llvm12
devel/llvm13
devel/llvm14
devel/llvm15
devel/llvm16
#devel/llvm17
#devel/llvm-devel
#devel/ccache


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#							#
# I should make a Ported_Software build for it		#
#_______________________________________________________#
#www/bluefish


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Should be no need for these at all due to git	#
#_______________________________________________________#
devel/subversion
devel/p5-subversion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these fail due to ruby default			#
#_______________________________________________________#
#accessibility/rubygem-atk
#archivers/rubygem-rubyzip
#devel/git@tiny
#devel/rubygem-cairo-gobject
#devel/rubygem-gettext
#devel/rubygem-gio2
#devel/rubygem-glib2
#devel/rubygem-gobject-introspection
#devel/rubygem-highline
#devel/rubygem-json_pure
#devel/rubygem-locale
#devel/rubygem-manpages
#devel/rubygem-native-package-installer
#devel/rubygem-optimist
#devel/rubygem-paint
#devel/rubygem-pkg-config
#devel/rubygem-rake
#devel/rubygem-thor
#devel/ruby-sdl
#editors/neovim
#games/freecell-solver
#games/jaggedalliance2
#games/magicmaze
#games/ninix-aya
#games/rubygem-fortune_gem
#games/rubygem-lolcat
#games/rubygem-vimgolf
#graphics/rubygem-cairo
#graphics/rubygem-gdk_pixbuf2
#graphics/rubygem-opengl
#math/rubygem-narray
#multimedia/rubygem-gstreamer
#textproc/rubygem-asciidoctor
#textproc/rubygem-charlock_holmes
#textproc/rubygem-text
#x11-toolkits/rubygem-gdk3
#x11-toolkits/rubygem-gtk3
#x11-toolkits/rubygem-pango


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Openoffice 						#
#_______________________________________________________#
editors/openoffice-4
editors/openoffice-devel
java/bootstrap-openjdk6
math/suitesparse


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# According to vigra comment: 				#
# Using py-NumPY implies Fortran and GCC 4.7+ as hard 	#
# dependencies and require all ports, depending on	#
# vigra, to set USE_GCC=yes				#
#							#
# So lets avoid py-numpy				#
#_______________________________________________________#
#math/py-numpy
graphics/vigra


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon py-numpy via math/suitesparse		#
#_______________________________________________________#
#games/freeorion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  unexplained dependency on openjdk7 which fails build #
#_______________________________________________________#
java/openjdk7
java/bootstrap-openjdk6
#
#math/cgal
#math/suitesparse
#math/eigen3

#devel/apr1
#databases/db5
#textproc/redland
#www/serf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  mesa-libs conflicts with libglvnd?			#
#_______________________________________________________#
#graphics/libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# complicates the issue?				#
#_______________________________________________________#
#graphics/linux-c7-libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid colord						#
#_______________________________________________________#
graphics/colord


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent -- GNOME - not a necessary dependency #
#_______________________________________________________#
#devel/dconf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Until dependencies fixed in official Makefile	#
#  Use home/tigersharke/Ported_Software instead		#
#_______________________________________________________#
sysutils/dunst


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  lets avoid dbus -- it sucks but allowing for now	#
#_______________________________________________________#
#devel/dbus
#devel/dbus-glib


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent so no need for them - subset likely	#
#_______________________________________________________#
#accessibility/at-spi2-atk
# accessibility/at-spi2-core
#net/avahi-app
#net/avahi-libdns
#sysutils/bsdisks
#x11/compton-conf
#sysutils/consolekit2
#devel/dconf
#x11-toolkits/kf5-attica
#devel/kf5-kauth
#devel/kf5-kbookmarks
#x11-toolkits/kf5-kcompletion
#devel/kf5-kconfig
#x11-toolkits/kf5-kconfigwidgets
#devel/kf5-kcrash
#devel/kf5-kdbusaddons
#x11/kf5-kded
#devel/kf5-kdoctools
#x11/kf5-kglobalaccel
#x11-toolkits/kf5-kguiaddons
#devel/kf5-ki18n
#x11-themes/kf5-kiconthemes
#x11-toolkits/kf5-kitemviews
#x11-toolkits/kf5-kjobwidgets
#devel/kf5-kservice
#x11-toolkits/kf5-ktextwidgets
#x11/kf5-kwayland
#x11-toolkits/kf5-kwidgetsaddons
#x11/kf5-kwindowsystem
#x11-toolkits/kf5-kxmlgui
#textproc/kf5-sonnet
#security/libgnome-keyring
#x11/lumina-coreutils
#sysutils/polkit
#sysutils/polkit-qt
#sysutils/polkit-qt-1
#devel/py39-dbus
#devel/py39-qt5-dbussupport
#devel/qt5-dbus
#x11-toolkits/qt5-declarative
#graphics/qt5-graphicaleffects
# x11-toolkits/qt5-gui
#graphics/qt5-imageformats
#multimedia/qt5-multimedia
#graphics/qt5-opengl
#print/qt5-printsupport
#accessibility/qt5-speech
#graphics/qt5-svg
#x11-toolkits/qt5-uiplugin
#devel/qt5-uitools
#graphics/qt5-wayland
#x11-toolkits/qt5-widgets
#x11/qt5-x11extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Since qt5-core has no config, and requires dbus as	#
# well as accessibility/at-spi2-core			#
#_______________________________________________________#
#devel/qt5-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon math/suitesparse			#
#_______________________________________________________#
#devel/boost-python-libs


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# kerberos or heimdal or gssapi stuff not needed	#
#_______________________________________________________#
net-mgmt/nagstamon
net/rubygem-omniauth-kerberos
security/cyrus-sasl2-gssapi
#security/heimdal
security/krb5-appl
security/krb5-devel
security/p5-Authen-Krb5
security/p5-Authen-Krb5-Simple
security/p5-Authen-Simple-Kerberos
security/p5-GSSAPI
security/p5-Heimdal-Kadm5
security/pam_krb5
security/py-flask-kerberos
security/py-gssapi
security/py-kerberos
security/py-pywinrm
security/py-requests-kerberos
security/rubygem-gssapi
www/gitlab-ce
www/mod_auth_gssapi
www/mod_auth_kerb2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Unmaintained and dead upstream, 			#
#	does not build with -fno-common (llvm 11)	#
#_______________________________________________________#
#games/bomberinstinct
#games/bygfoot
#games/cavezofphear
#games/cosmo
#games/cre
#games/drm


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# used to avoid this as luajit-openresty is preferred	#
# -- conflicts with luajit				#
#_______________________________________________________#
lang/luajit
#lang/luajit-devel
lang/luajit-openresty


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Build outside of ports until luajit-openresty default #
#_______________________________________________________#
#games/catesc
#games/freeminer-default
#games/freeminer
#games/instead
#games/mari0
#games/minerbold
#games/minetest_game
#games/minetest
#games/naev
#games/powder-toy
#games/solarus-quest-editor
#games/solarus
#games/voadi


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Avoid libressl of any variety on desktop, use openSSL	#
# libressl is fine on simpler systems like firewall but	#
# is NOT properly supported by software in general.	#
#_______________________________________________________#
security/libressl
security/libressl-devel
security/libressl*


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# conflicts with libressl-devel				#
#	but maybe avoid anyhow if possible		#
#_______________________________________________________#
#security/gnutls
#security/nettle


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require gnupg -- no option visible	#
#_______________________________________________________#
#devel/kf5-kcmutils
#devel/kf5-kdeclarative
#devel/kf5-kio
#devel/kf5-knewstuff
#devel/kf5-knotifyconfig
#devel/kf5-kparts
#devel/libgdata
#games/kanagram
#games/khangman
#mail/gmime30
#misc/libkeduvocdocument
#multimedia/totem-pl-parser
#net/gnome-online-accounts
#security/gcr
#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#sysutils/kf5-kwallet
#x11/kf5-kactivities
#x11/kf5-kinit
x11/kf5-plasma-framework
#x11-toolkits/kf5-kirigami2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# nettle dependents					#
#_______________________________________________________#
#devel/librest
#devel/libsoup
#devel/qca
#mail/gmime30
#multimedia/totem-pl-parser
#net/geoclue
#net/glib-networking
#net-im/gloox
#net/uhttpmock
#security/gnupg

#security/gnutls

#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#security/libgsasl
#sysutils/password-store
#sysutils/qtpass
#sysutils/tracker
#x11-toolkits/gnome-pty-helper
#x11-toolkits/vte


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require nettle -- no option visible	#
#_______________________________________________________#
#audio/audacity
#audio/lollypop
#devel/appstream-glib
#devel/glade
#devel/libgdata
#devel/librest
#devel/libsoup
#games/0ad
#games/atomix
#games/diaspora
#games/four-in-a-row
#games/freedink
#games/freedink-dfarc
#games/gnome-2048
#games/gnome-chess
#games/gnome-nibbles
#games/gnome-robots
#games/gnome-sudoku
#games/golly
#games/hitori
#games/iagno
#games/megaglest
#games/pioneers
#games/quadrapassel
#games/trenchbroom
#games/wxlauncher
#graphics/gimp
#graphics/gimp-app
#graphics/gimp-data-extras
#mail/claws-mail
#mail/claws-mail-gdata
#mail/claws-mail-libravatar
#mail/claws-mail-litehtml_viewer
#mail/claws-mail-mailmbox
#mail/claws-mail-newmail
#mail/claws-mail-notification
#mail/claws-mail-rssyl
##multimedia/totem-pl-parser
#net/glib-networking
#net/gnome-online-accounts
#net-im/gloox
#net/uhttpmock
#print/gimp-gutenprint

#security/gnutls

#www/gtkhtml4
#www/webkit2-gtk3
#x11-fonts/cantarell-fonts
#x11/gnome-desktop
#x11-toolkits/libhandy
#x11-toolkits/wxgtk30
#x11-toolkits/wxgtk31
#x11/yelp


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# git -- avoid other flavors				#
#_______________________________________________________#
devel/git@default
devel/git@gui
devel/git@lite
devel/git@svn
devel/git-default
devel/git-gui
devel/git-lite
devel/git-svn


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# avoid -- also dbus dependents				#
#_______________________________________________________#
#accessibility/at-spi2-atk
#accessibility/at-spi2-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# accessibility/at-spi2-atk dependents without config	#
#_______________________________________________________#
#devel/electron11
#editors/vscode
#www/chromium
#x11/cinnamon
#x11/gnome-shell
#x11-toolkits/gtkada3


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# db5 issue 						#
#_______________________________________________________#
#audio/jack


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  obslete and would need makefile changes to fix build	#
#_______________________________________________________#
graphics/osg34


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  osg34 dependent cannot build				#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Rebuild only with updated kernel/world		#
#  and maybe keep pkg locked in between times.		#
#_______________________________________________________#
emulators/virtualbox-ose
emulators/virtualbox-ose-kmod


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  talloc and tevent not needed -- ldap/samba focus	#
#_______________________________________________________#
devel/talloc
devel/tevent


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  samba not needed - depends above denied won't build	#
#_______________________________________________________#
net/samba


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas conflicts with netlib/cblas preferred	#
#_______________________________________________________#
#math/openblas


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas dependent cannot build			#
#_______________________________________________________#
#biology/bolt-lmm
#biology/gcta
#biology/gemma
#biology/plink
#cad/gmsh
#graphics/opencv
#math/adept
#math/ambit
#math/armadillo
#math/blaze
#math/blazeiterative
#math/casadi
#math/ceres-solver
#math/cminpack
#math/coinutils
#math/dbcsr
#math/deal.ii
#math/dune-common
#math/dune-fem
#math/dune-geometry
#math/dune-grid
#math/dune-pdelab
#math/dune-polygongrid
#math/dune-uggrid
#math/dune-vtk
#math/eigen3
#math/elemental
#math/elpa
#math/faiss
#math/fflas-ffpack
#math/flint2
#math/freefem++
#math/g2o
#math/hmat-oss
#math/iml
#math/jags
#math/lapack++
#math/linbox
#math/moab
#math/octave
#math/octave-forge-ltfat
#math/openturns
#math/osi
#math/primme
#math/py-numpy
#math/py-scs
#math/qposases
#math/sage
#math/scalapack
math/scs
#math/suitesparse
#math/sundials
#misc/mxnet
#misc/openmvg
#misc/visp
#science/bagel
#science/berkeleygw
#science/chemps2
#science/chrono
#science/code_saturne
#science/dalton
#science/elk
#science/elmerfem
#science/erkale
#science/gamess-us
#science/iboview
#science/lammps
#science/latte
#science/libcint
#science/mpb
#science/multiwfn
#science/opensim-core
#science/py-gpaw
#science/py-phono3py
#science/py-scipy
#science/qiskit-aer
#science/qmcpack
#science/simbody
#science/xtb

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Avoid all nvidia -- hidden deps			#
#_______________________________________________________#
graphics/nvidia-texture-tools
net-mgmt/nvidia_gpu_prometheus_exporter
x11/linux-nvidia-libs*
#x11/linux-nvidia-libs-304
#x11/linux-nvidia-libs-340
#x11/linux-nvidia-libs-390
x11/nvidia-driver*
#x11/nvidia-driver-304
#x11/nvidia-driveR-340
#X11/nvidia-driver-390
x11/nvidia*
#x11/nvidia-settings
#x11/nvidia-xconfig


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  This one often causes problems, avoid if possible	#
#_______________________________________________________#
x11-drivers/xf86-video-scfb


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  WHY should these ever be built on ICHIGO?		#
#_______________________________________________________#
#graphics/gpu-firmware-intel-kmod
x11/xbacklight


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fails when fontforge fails				#
#_______________________________________________________#
#x11-fonts/oxygen-fonts


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  deprecated version of python 2.7			#
#_______________________________________________________#
lang/python27


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  python27 dependent cannot build			#
#_______________________________________________________#
devel/py-backports.functools_lru_cache
graphics/gif2png
devel/godot2
lang/cython@py27
devel/py-enum34
devel/py-future@py27
devel/py-game_sdl2@py27
net/py-ipaddress
devel/py-setuptools@py27
x11-toolkits/py-tkinter@py27
devel/scons@py27
net/py-ipaddress
#
devel/electron13
devel/py-setuptools44
dns/py-dnspython1
games/renpy
lang/python2
mail/mailman
mail/mailman-exim4
mail/mailman-postfix
sysutils/uefi-edk2-bhyve-csm
www/moinmoin
www/qt5-webengine


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  license confirmation needed				#
#_______________________________________________________#
games/taipan
games/tyrian-data
games/linux-unigine-valley
games/primateplunge
games/linux-unigine-heaven
games/minecraft-server
games/rawgl
games/steelstorm
games/mtaserver
games/goonies


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  cdrom or mount of cdrom needed			#
#_______________________________________________________#
games/HeroesOfMightAndMagic
games/jaggedalliance2
games/kodi-addon-game.libretro.genplus
games/kodi-addon-game.libretro.pcsx-rearmed
games/kodi-addon-game.libretro.picodrive
games/linux-quake4
games/linux-ssamtse
games/linux-ssamtfe
games/linux-unrealgold
games/linux-ut



#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  i386 only or fails on amd64				#
#_______________________________________________________#
#devel/bennugd-core
games/q3cellshading
games/quake3
games/lmpc
games/doom


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  run depends						#
#_______________________________________________________#
emulators/i386-wine-devel


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid dependencies					#
#_______________________________________________________#
games/valyriatear
games/eboard
games/foobillard
games/xconq


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid nvidia textures dependency			#
#_______________________________________________________#
games/xray_re-tools


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fetch - config issue (missing file via option)	#
#_______________________________________________________#
games/quake2-extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stage - broken due to missing file			#
#_______________________________________________________#
#games/odamex


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  depends upon broken love				#
#_______________________________________________________#
#games/mari0
#games/gunfudeadlands


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  broken due to sdl12 & opengl includes in source	#
#_______________________________________________________#
devel/love07
devel/love08


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  investigation needed					#
#_______________________________________________________#
#devel/godot2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dependencies already blacklisted			#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  metaport fails due to blacklisted component		#
#_______________________________________________________#
#games/gnome-games


The deblack script below, excludes the port origins by filtering through the blacklist which then creates a fresh bulk list which then becomes the file sent to poudriere.  The command you might issue, if the script is named 'p-keg-deblack' would be poudriere bulk -j 14amd64 -f `p-keg-deblack installed-pkgs-gross` and note the part enclosed by the (`) characters which provides the result of the script in its place.

#!/bin/sh
rm ~/$1-deblack 2>/dev/null
rm /var/tmp/cleaned_blacklist 2>/dev/null
rm /var/tmp/list 2>/dev/null
rm /var/tmp/sorted_list 2>/dev/null
cp $1 /var/tmp/list
cat /var/tmp/list | sort -d -u > /var/tmp/sorted_list && rm $1 && cp /var/tmp/sorted_list $1
grep -v \# ~/Symbolic_Links/14amd64-blacklist | sort -d -u > /var/tmp/cleaned_blacklist

diff -B -w $1 /var/tmp/cleaned_blacklist | grep \< |sed  -e 's/^<\ //g' -e 's/---//g' -e '1d' > ~/$1-deblack

echo $1-deblack

When I figure out how I might handle moved or renamed or nonexistent ports, I may revisit the scripts and post an update.  Until then, if any of those conditions exist, poudriere will halt right after providing an error or warning message describing which correction needs to be made.  Be careful about typos in your blacklist file since those can be confusing because you may assume the error is in your bulk list like it would be for the previous reasons.

Try out building your own local ports with the options you prefer that are different than the defaults.  Of course, once more, Essential caveat: Use those scripts at your own risk, I make no promises.  I believe they are safe but test and verify and choose to use them when you're satisfied.

Monday, March 11, 2024

Poudriere bulk build lists

I may have briefely mentioned or possibly even described how I collect what is installed on my system for rebuilding via poudriere.  I have two methods that I use from time to time, one takes a list direct from those directories which exist in the ports tree, and the other uses pkg to collect what is installed already.  There are only two areas which I am most likely to install all or a majority of the ports and that is fonts and games.  I might use these lists periodically to ensure that new things were added.  I could use the ports tree built-in mechanisms to build every port in a category such as fonts or games but this means I would get items I do not desire.  Building via poudriere will permit me to limit to what I wish and more quickly handle the task as it would work upon a bulk list and has a blacklist capability.

The simple script to collect all the fonts that could be installed looks like this:

#!/bin/sh
[ -f /root/allfonts-list ] && rm /root/allfonts-list
for dir in `ls /usr/ports/x11-fonts`
 do
  echo x11-fonts/$dir >> /root/allfonts-list
done

The same for games is only changed a little:

#!/bin/sh
[ -f /root/allgames-list ] && rm /root/allgames-list
for dir in `ls /usr/ports/games`
 do
  echo games/$dir >> /root/allgames-list
done

My script to create the gross bulk list as well as lists divided into categories of what ports are installed is a bit larger and provides more feedback than most of my scripts.  It was quieter but I decided that it is nice to know what its doing rather than possibly failing, so more of my newer or re-written scripts include a bit more echoes.  You may notice in this script (below) that I specifically exclude the various llvm ports from the bulk list.  These I won't ever need built as non-dependent ports so I expect that poudriere or pkg would draw them in automatically.  This also eliminates the chance that I would have multiple versions of llvm in any bulk list which could become outdated and unneeded.  The blacklist can further eliminate old versions of llvm which could be dependencies but probably ought to be newer versions when upstream for those ports finally get to that task.

#!/bin/sh
echo "Clearing /var/tmp p-keglist files.."
rm /var/tmp/installed-pkgs-gross 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-added 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-gross-sorted 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-ungamed 2>/dev/null &&echo -n "."
rm /var/tmp/installed-pkgs-* 2>/dev/null &&echo -n "."
echo;echo "--"; echo


echo "Backing up installed-gross list to /var/tmp"
cp ~/installed-pkgs-gross /var/tmp/installed-pkgs-gross.backup
echo;echo "--"; echo


echo "Gathering list of installed pkgs.."
pkg origin >> /var/tmp/installed-pkgs-gross
echo;echo "--"; echo


echo "Organizing the list.."
cat /var/tmp/installed-pkgs-gross | sort -d | sort -u >> /var/tmp/installed-pkgs-gross-added &&echo -n "."
cat /var/tmp/installed-pkgs-gross-added | sed -E 's:devel\/llvm[0-9]*::'| sort -u -d > /var/tmp/installed-pkgs-gross-sorted &&echo -n "."
mv /var/tmp/installed-pkgs-gross-sorted /var/tmp/installed-pkgs-gross &&echo -n "."
cp /var/tmp/installed-pkgs-gross ~ &&echo -n "."
echo;echo "--"; echo


echo "Dividing the list.."
category=0

for portorigin in `cat /var/tmp/installed-pkgs-gross-added`
do
category=`echo $portorigin | cut -d / -f 1`
echo $portorigin >> /var/tmp/installed-pkgs-$category

echo $category $portorigin
if ! [ "$category" = "games" ] ; then
echo $portorigin >> /var/tmp/installed-pkgs-ungamed
fi
done
echo;echo "--"; echo


rm /var/tmp/installed-pkgs-gross-added 2>/dev/null

echo "Finalizing and checking list sizes, one looong moment.."
for listfile in `ls -1 /var/tmp/installed-pkgs-*`
do
wc -l $listfile |sed -e 's:\/var\/tmp\/::'
done

cp /var/tmp/installed-pkgs-* ~
echo;echo "--"; echo

I had noticed that my bulk list constructing script seemed to be including duplicates while my intent at that time had been to maintain a list of what had been installed which had newer items added.  I want to keep track of the things I consistently have installed on my system but which due to some upgrade might be left out due to becoming uninstalled (unintentionally).  During that moment if I were to create the bulk list, those items which I didn't truly want removed from my system would not be included in my bulk list.  My solution may have been faulty, to add-to my bulk list, which caused the duplicates in the bulk listings.  This is why I include a little bit of an attempt to remove possible duplicate lines.  There is also a bulk list which excludes games because those might not be what is most important at the time.

Now that the bulk lists exist, one could issue the following command for their poudriere build process poudriere bulk -j 14amd64 -f `p-keg-deblack installed-pkgs-games` with some small explanation that the "installed=pkgs-games" is the bulk list preceded with -f to indicate to poudriere to take the list from a file.  The "p-keg-deblack" is a script mentioned prevously which filters blacklisted items before sending the list to poudriere, it acts upon the bulk list and the content within the ` characters is seen by poudriere as "installed-pkgs-games-deblack" which is a new file it created.  The -j indicates the poudriere jail that it will use for building.  The blacklist can be crafted how ever you wish, my own and a revised p-keg-deblack script is shown in a previous blog post, Working on a blacklist which may be something you could use, however, Essential caveat: Use this script at your own risk, I make no promises.

Working on a blacklist

The ports-mgmt tool poudriere as a local package builder for installing built ports on the same system is a pretty efficient and effective tool nearly all of the time.  It seems that the default or more well-known method is to build everything in the entire ports tree, surely because the primary or initial intent of this tool was for that particular task.  Whether you use a subset with the -f option and a filename of listed port origins, or use that default massive build, you will be able to get some scrutiny on the builds via poudriere's testing, and bunch of ports will be added to your repository.  It will also build multiple ports in rough parallel which speeds the whole process.  Sometimes even when you give it up to the four or six processor cores worth of builds to do at the same time, it will drop to fewer because a larger dependency like llvm or rust is needed as an update for further ports depending on those.  The file list option I mention is one way to determine what is built, but you can more forcefully deny other things from being built by creating a blacklist.

A blacklist for poudriere is simply a listing of port origins in a file and can include comments or further organization any way you wish.  This file is created and placed in the poudriere directory.  The manpage describes the required filename:

   Blacklist ports
     You can also specify a blacklist which will disallow the lists port
     origins from building on the matched jail. Any of the following are
     allowed and will all be used in the order shown:

           /usr/local/etc/poudriere.d/blacklist
           /usr/local/etc/poudriere.d/<setname>-blacklist
           /usr/local/etc/poudriere.d/<tree>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-blacklist
           /usr/local/etc/poudriere.d/<tree>gt;-<setname>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-<tree>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-<setname>-blacklist
           /usr/local/etc/poudriere.d/<jailname>-<tree>-<setname>-blacklist

     If QEMU is being used then a special qemu blacklist is also loaded.
           /usr/local/etc/poudriere.d/qemu-blacklist

I have been using the jailname option as this is how I have been building my ports, I have not looked deeper into the other methods yet.  My jail is 14amd64, this means the proper path for my blacklist is /usr/local/etc/poudriere.d/14amd64-blacklist and below is what mine looks like at present.

# Doesn't exist
devel/libtar

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  oddness with py39 something issue			#
#_______________________________________________________#
graphics/lensfun


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these presently fail					#
#_______________________________________________________#
games/wesnoth
games/abstreet
games/opendungeons
games/jinput
graphics/ocaml-images
emulators/wine
www/py-aiohttp
devel/opengrok
games/DDNet
games/libretro-fbneo
www/nspluginwrapper
games/orthorobot


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to use version 7 and avoid 6			#
#_______________________________________________________#
graphics/ImageMagick6
graphics/ImageMagick6-nox11


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  use 17 rather than 16 or others.			#
#_______________________________________________________#
www/node16


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  These do not exist in ports				#
#_______________________________________________________#
#sysutils/pcbsd-libsh
#x11-fonts/font-bitstream-speedo
#x11-fonts/fontconfig-reference
#x11-wm/fvwm-crystal
net/libmms


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Expired/Deprecated/Unsupported upstream		#
#_______________________________________________________#
multimedia/schroedinger


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Except when using testport Build outside poudriere	#
# minetest fork of irrlicht does not conflict		#
#_______________________________________________________#
games/minetest-dev
games/minetestmapper-dev
x11-toolkits/irrlicht-minetest
x11-wm/fvwm3-dev
graphics/feh-dev
graphics/libthorvg
games/lutris-freebsd
games/eternallands-dev
games/eternallands-data
databases/dbeaver-dev
devel/distcc-dev


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Build without poudriere: tigersharke/Ported_Software #
#_______________________________________________________#
games/el
games/el-data
games/minetest
games/minetestmapper
games/minetest_game
net/libmms
audio/easytag
x11-toolkits/irrlicht
x11-wm/fvwm3
graphics/feh
games/lutris
graphics/libthorvg
games/godot-dev
games/ryzomcore
games/eternallands-data
databases/dbeaver-dev


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid bulk build of these silly things		#
# These or others get added by bulk list creation	#
#_______________________________________________________#
games/pink-pony
games/cowsay
games/neo-cowsay
games/xcowsay
games/coffeebreak
games/powdertoy
games/powder-toy
games/powdertoy-devel
games/powder-toy-devel
games/sex
games/weebsay


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  builds but doesn't work				#
#_______________________________________________________#
games/excido


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  toggle these - often cause troubles or take FOREVER	#
#_______________________________________________________#
#games/veloren-weekly
#games/veloren
#www/firefox
#lang/rust
lang/rust-nightly
#x11-fonts/iosevka
#lang/rust-bootstrap
#devel/efl
#x11-wm/enlightenment
#devel/rust-cbindgen


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  conflicts in port or its depends			#
#_______________________________________________________#
java/jmf
devel/typetools
games/openarena
games/slade
games/golly
games/gnubik
games/openmw


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Try to force more current version of llvm 		#
#  Discover what breaks and adjust accordingly.		#
# first is "default" version, unversioned		#
#							#
# favoring llvm13					#
#_______________________________________________________#
#devel/llvm
#devel/llvm17@default
#
devel/llvm70
devel/llvm80
devel/llvm90
devel/llvm10
devel/llvm11
devel/llvm12
#
#devel/llvm13
devel/llvm14
devel/llvm15
devel/llvm16
#devel/llvm17
#devel/llvm-devel
#devel/ccache


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  This built with python39 not 38 as makefile expects	#
#							#
# Need to make a Ported_Software build for it		#
#_______________________________________________________#
#www/bluefish


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Should be no need for these at all due to git	#
#_______________________________________________________#
devel/subversion
devel/p5-subversion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  these fail due to ruby default			#
#_______________________________________________________#
#accessibility/rubygem-atk
#archivers/rubygem-rubyzip
#devel/git@tiny
#devel/rubygem-cairo-gobject
#devel/rubygem-gettext
#devel/rubygem-gio2
#devel/rubygem-glib2
#devel/rubygem-gobject-introspection
#devel/rubygem-highline
#devel/rubygem-json_pure
#devel/rubygem-locale
#devel/rubygem-manpages
#devel/rubygem-native-package-installer
#devel/rubygem-optimist
#devel/rubygem-paint
#devel/rubygem-pkg-config
#devel/rubygem-rake
#devel/rubygem-thor
#devel/ruby-sdl
#editors/neovim
#games/freecell-solver
#games/jaggedalliance2
#games/magicmaze
#games/ninix-aya
#games/rubygem-fortune_gem
#games/rubygem-lolcat
#games/rubygem-vimgolf
#graphics/rubygem-cairo
#graphics/rubygem-gdk_pixbuf2
#graphics/rubygem-opengl
#math/rubygem-narray
#multimedia/rubygem-gstreamer
#textproc/rubygem-asciidoctor
#textproc/rubygem-charlock_holmes
#textproc/rubygem-text
#x11-toolkits/rubygem-gdk3
#x11-toolkits/rubygem-gtk3
#x11-toolkits/rubygem-pango


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Openoffice 						#
#_______________________________________________________#
editors/openoffice-4
editors/openoffice-devel
java/bootstrap-openjdk6
math/suitesparse


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# According to vigra comment: 				#
# Using py-NumPY implies Fortran and GCC 4.7+ as hard 	#
# dependencies and require all ports, depending on 	#
# vigra, to set USE_GCC=yes				#
#							#
# So lets avoid py-numpy				#
#_______________________________________________________#
#math/py-numpy
graphics/vigra


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon py-numpy via math/suitesparse		#
#_______________________________________________________#
games/freeorion


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  unexplained dependency on openjdk7 which fails build #
#_______________________________________________________#
java/openjdk7
java/bootstrap-openjdk6
#
#math/cgal
#math/suitesparse
#math/eigen3

devel/apr1
#databases/db5
textproc/redland
www/serf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  mesa-libs conflicts with libglvnd?			#
#_______________________________________________________#
#graphics/libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# complicates the issue?				#
#_______________________________________________________#
#graphics/linux-c7-libglvnd


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  avoid colord						#
#_______________________________________________________#
graphics/colord


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent -- GNOME - not a necessary dependency #
#_______________________________________________________#
#devel/dconf


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Until dependencies fixed in official Makefile	#
#  Use home/tigersharke/Ported_Software instead		#
#_______________________________________________________#
sysutils/dunst


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  lets avoid dbus -- it sucks but allowing for now	#
#_______________________________________________________#
#devel/dbus
#devel/dbus-glib


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dbus dependent so no need for them - subset likely	#
#_______________________________________________________#
#accessibility/at-spi2-atk
# accessibility/at-spi2-core
#net/avahi-app
#net/avahi-libdns
#sysutils/bsdisks
#x11/compton-conf
#sysutils/consolekit2
#devel/dconf
#x11-toolkits/kf5-attica
#devel/kf5-kauth
#devel/kf5-kbookmarks
#x11-toolkits/kf5-kcompletion
#devel/kf5-kconfig
#x11-toolkits/kf5-kconfigwidgets
#devel/kf5-kcrash
#devel/kf5-kdbusaddons
#x11/kf5-kded
#devel/kf5-kdoctools
#x11/kf5-kglobalaccel
#x11-toolkits/kf5-kguiaddons
#devel/kf5-ki18n
#x11-themes/kf5-kiconthemes
#x11-toolkits/kf5-kitemviews
#x11-toolkits/kf5-kjobwidgets
#devel/kf5-kservice
#x11-toolkits/kf5-ktextwidgets
#x11/kf5-kwayland
#x11-toolkits/kf5-kwidgetsaddons
#x11/kf5-kwindowsystem
#x11-toolkits/kf5-kxmlgui
#textproc/kf5-sonnet
#security/libgnome-keyring
#x11/lumina-coreutils
#sysutils/polkit
#sysutils/polkit-qt
#sysutils/polkit-qt-1
#devel/py39-dbus
#devel/py39-qt5-dbussupport
# devel/qt5-dbus
# x11-toolkits/qt5-declarative
#graphics/qt5-graphicaleffects
# x11-toolkits/qt5-gui
#graphics/qt5-imageformats
#multimedia/qt5-multimedia
#graphics/qt5-opengl
# print/qt5-printsupport
#accessibility/qt5-speech
# graphics/qt5-svg
# x11-toolkits/qt5-uiplugin
# devel/qt5-uitools
#graphics/qt5-wayland
# x11-toolkits/qt5-widgets
#x11/qt5-x11extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Since qt5-core has no config, and requires dbus as	#
# well as accessibility/at-spi2-core			#
#_______________________________________________________#
#devel/qt5-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Dependent upon math/suitesparse			#
#_______________________________________________________#
#devel/boost-python-libs


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# kerberos or heimdal or gssapi stuff not needed	#
#_______________________________________________________#
net-mgmt/nagstamon
net/rubygem-omniauth-kerberos
security/cyrus-sasl2-gssapi
#security/heimdal
security/krb5-appl
security/krb5-devel
security/p5-Authen-Krb5
security/p5-Authen-Krb5-Simple
security/p5-Authen-Simple-Kerberos
security/p5-GSSAPI
security/p5-Heimdal-Kadm5
security/pam_krb5
security/py-flask-kerberos
security/py-gssapi
security/py-kerberos
security/py-pywinrm
security/py-requests-kerberos
security/rubygem-gssapi
www/gitlab-ce
www/mod_auth_gssapi
www/mod_auth_kerb2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Unmaintained and dead upstream, 			#
#	does not build with -fno-common (llvm 11)	#
#_______________________________________________________#
#games/bomberinstinct
#games/bygfoot
#games/cavezofphear
games/cosmo
games/cre
games/drm


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# avoid this as luajit-openresty is preferred		#
# -- conflicts with luajit				#
#_______________________________________________________#
lang/luajit
lang/luajit-devel


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Build outside of ports until luajit-openresty default #
#_______________________________________________________#
games/catesc
games/freeminer-default
games/freeminer
games/instead
games/mari0
games/minerbold
games/minetest_game
games/minetest
games/naev
games/powder-toy
games/solarus-quest-editor
games/solarus
games/voadi


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Avoid libressl of any variety on desktop, use openSSL	#
# libressl is fine on simpler systems like firewall but	#
# is NOT properly supported by software in general.	#
#_______________________________________________________#
security/libressl
security/libressl-devel
security/libressl*


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# conflicts with libressl-devel				#
#	but maybe avoid anyhow if possible		#
#_______________________________________________________#
#security/gnutls
#security/nettle


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require gnupg -- no option visible	#
#_______________________________________________________#
#devel/kf5-kcmutils
#devel/kf5-kdeclarative
#devel/kf5-kio
#devel/kf5-knewstuff
#devel/kf5-knotifyconfig
#devel/kf5-kparts
#devel/libgdata
#games/kanagram
#games/khangman
mail/gmime30
misc/libkeduvocdocument
#multimedia/totem-pl-parser
net/gnome-online-accounts
security/gcr
#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#sysutils/kf5-kwallet
#x11/kf5-kactivities
#x11/kf5-kinit
x11/kf5-plasma-framework
#x11-toolkits/kf5-kirigami2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# nettle dependents					#
#_______________________________________________________#
#devel/librest
#devel/libsoup
#devel/qca
#mail/gmime30
#multimedia/totem-pl-parser
#net/geoclue
#net/glib-networking
#net-im/gloox
#net/uhttpmock
#security/gnupg

#security/gnutls

#security/gpgme
#security/gpgme-cpp
#security/gpgme-qt5
#security/libgsasl
#sysutils/password-store
#sysutils/qtpass
#sysutils/tracker
#x11-toolkits/gnome-pty-helper
#x11-toolkits/vte


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# these things require nettle -- no option visible	#
#_______________________________________________________#
audio/audacity
audio/lollypop
#devel/appstream-glib
#devel/glade
#devel/libgdata
#devel/librest
#devel/libsoup
#games/0ad
#games/atomix
#games/diaspora
#games/four-in-a-row
#games/freedink
#games/freedink-dfarc
#games/gnome-2048
#games/gnome-chess
#games/gnome-nibbles
#games/gnome-robots
#games/gnome-sudoku
#games/golly
#games/hitori
#games/iagno
#games/megaglest
#games/pioneers
#games/quadrapassel
#games/trenchbroom
#games/wxlauncher
#graphics/gimp
#graphics/gimp-app
#graphics/gimp-data-extras
#mail/claws-mail
#mail/claws-mail-gdata
#mail/claws-mail-libravatar
#mail/claws-mail-litehtml_viewer
#mail/claws-mail-mailmbox
#mail/claws-mail-newmail
#mail/claws-mail-notification
#mail/claws-mail-rssyl
##multimedia/totem-pl-parser
#net/glib-networking
#net/gnome-online-accounts
#net-im/gloox
#net/uhttpmock
#print/gimp-gutenprint

#security/gnutls

#www/gtkhtml4
#www/webkit2-gtk3
#x11-fonts/cantarell-fonts
x11/gnome-desktop
#x11-toolkits/libhandy
#x11-toolkits/wxgtk30
#x11-toolkits/wxgtk31
#x11/yelp


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# git -- avoid other flavors				#
#_______________________________________________________#
devel/git@default
devel/git@gui
devel/git@lite
devel/git@svn
devel/git-default
devel/git-gui
devel/git-lite
devel/git-svn


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# avoid -- also dbus dependents				#
#_______________________________________________________#
accessibility/at-spi2-atk
#accessibility/at-spi2-core


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# accessibility/at-spi2-atk dependents without config	#
#_______________________________________________________#
devel/electron11
editors/vscode
www/chromium
x11/cinnamon
x11/gnome-shell
x11-toolkits/gtkada3


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# db5 issue 						#
#_______________________________________________________#
audio/jack


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  obslete and would need makefile changes to fix build	#
#_______________________________________________________#
graphics/osg34


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  osg34 dependent cannot build				#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Rebuild only with updated kernel/world		#
#  and maybe keep pkg locked in between times.		#
#_______________________________________________________#
emulators/virtualbox-ose
emulators/virtualbox-ose-kmod


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  talloc and tevent not needed -- ldap/samba focus	#
#_______________________________________________________#
devel/talloc
devel/tevent


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas conflicts with netlib/cblas preferred	#
#_______________________________________________________#
math/openblas


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  openblas dependent cannot build			#
#_______________________________________________________#
biology/bolt-lmm
biology/gcta
biology/gemma
biology/plink
cad/gmsh
graphics/opencv
math/adept
math/ambit
math/armadillo
math/blaze
math/blazeiterative
math/casadi
math/ceres-solver
math/cminpack
math/coinutils
math/dbcsr
math/deal.ii
math/dune-common
math/dune-fem
math/dune-geometry
math/dune-grid
math/dune-pdelab
math/dune-polygongrid
math/dune-uggrid
math/dune-vtk
#math/eigen3
math/elemental
math/elpa
math/faiss
math/fflas-ffpack
math/flint2
math/freefem++
math/g2o
math/hmat-oss
math/iml
math/jags
math/lapack++
math/linbox
math/moab
math/octave
math/octave-forge-ltfat
math/openturns
math/osi
math/primme
#math/py-numpy
math/py-scs
math/qposases
math/sage
math/scalapack
math/scs
math/suitesparse
math/sundials
misc/mxnet
misc/openmvg
misc/visp
science/bagel
science/berkeleygw
science/chemps2
science/chrono
science/code_saturne
science/dalton
science/elk
science/elmerfem
science/erkale
science/gamess-us
science/iboview
science/lammps
science/latte
science/libcint
science/mpb
science/multiwfn
science/opensim-core
science/py-gpaw
science/py-phono3py
science/py-scipy
science/qiskit-aer
science/qmcpack
science/simbody
science/xtb

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Avoid all nvidia -- hidden deps			#
#_______________________________________________________#
graphics/nvidia-texture-tools
net-mgmt/nvidia_gpu_prometheus_exporter
x11/linux-nvidia-libs*
#x11/linux-nvidia-libs-304
#x11/linux-nvidia-libs-340
#x11/linux-nvidia-libs-390
x11/nvidia-driver*
#x11/nvidia-driver-304
#x11/nvidia-driveR-340
#X11/nvidia-driver-390
x11/nvidia*
#x11/nvidia-settings
#x11/nvidia-xconfig


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  Avoid all nvidia -- hidden deps			#
#_______________________________________________________#
x11-drivers/xf86-video-scfb


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fails when fontforge fails				#
#_______________________________________________________#
#x11-fonts/oxygen-fonts


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  deprecated version of python 2.7			#
#_______________________________________________________#
lang/python27


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  python27 dependent cannot build			#
#_______________________________________________________#
devel/py-backports.functools_lru_cache
graphics/gif2png
devel/godot2
lang/cython@py27
devel/py-enum34
devel/py-future@py27
devel/py-game_sdl2@py27
net/py-ipaddress
devel/py-setuptools@py27
x11-toolkits/py-tkinter@py27
devel/scons@py27
net/py-ipaddress
#
devel/electron13
devel/py-setuptools44
dns/py-dnspython1
games/renpy
lang/python2
mail/mailman
mail/mailman-exim4
mail/mailman-postfix
sysutils/uefi-edk2-bhyve-csm
www/moinmoin
www/qt5-webengine


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  license confirmation needed				#
#_______________________________________________________#
games/taipan
games/tyrian-data
games/linux-unigine-valley
games/primateplunge
games/linux-unigine-heaven
games/minecraft-server
games/rawgl
games/steelstorm
games/mtaserver
games/goonies


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  cdrom or mount of cdrom needed			#
#_______________________________________________________#
games/HeroesOfMightAndMagic
games/jaggedalliance2
games/kodi-addon-game.libretro.genplus
games/kodi-addon-game.libretro.pcsx-rearmed
games/kodi-addon-game.libretro.picodrive
games/linux-quake4
games/linux-ssamtse
games/linux-ssamtfe
games/linux-unrealgold
games/linux-ut



#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  i386 only or fails on amd64				#
#_______________________________________________________#
#devel/bennugd-core
games/q3cellshading
games/quake3
games/lmpc
games/doom


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  run depends						#
#_______________________________________________________#
emulators/i386-wine-devel


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid dependencies					#
#_______________________________________________________#
games/valyriatear
games/eboard
games/foobillard
games/xconq


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stupid nvidia textures dependency			#
#_______________________________________________________#
games/xray_re-tools


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  fetch - config issue (missing file via option)	#
#_______________________________________________________#
games/quake2-extras


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  stage - broken due to missing file			#
#_______________________________________________________#
#games/odamex


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  depends upon broken love				#
#_______________________________________________________#
#games/mari0
#games/gunfudeadlands


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  broken due to sdl12 & opengl includes in source	#
#_______________________________________________________#
devel/love07
devel/love08


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  investigation needed					#
#_______________________________________________________#
#devel/godot2


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  dependencies already blacklisted			#
#_______________________________________________________#


#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#  metaport fails due to blacklisted component		#
#_______________________________________________________#
#games/gnome-games

Lots of text, many comments.  I have changed my mind about building and installing various things, used the standard ports tree for most and chose custom ones for others.  Eventually if I take the time, I might better understand what some of the other poudriere build methods mean, and possibly could gain a bit more flexibility with how I bulk build via my lists.

There is no other need except to create and properly place the blacklist file, it is found without an added commandline option, but for me, I would issue poudriere bulk -j 14amd64 -f `p-keg-deblack installed-pkgs-gross` because I discovered that poudriere would cull them as part of its initial process.  I believe that there is no need to send a list of files which may include blacklisted items, so I pre-remove them from the initial list.  This alleviates a little of the extra, but poudriere will still use the blacklist file if there still remain hidden among dependencies things I do not desire built.

The p-keg-deblack script is described in a prior blog post, poudriere blacklist filter but I had since revised it as below:

#!/bin/sh
rm ~/$1-deblack 2>/dev/null
rm /var/tmp/cleaned_blacklist 2>/dev/null
rm /var/tmp/list 2>/dev/null
rm /var/tmp/sorted_list 2>/dev/null
cp $1 /var/tmp/list
cat /var/tmp/list | sort -d -u > /var/tmp/sorted_list && rm $1 && cp /var/tmp/sorted_list $1
grep -v \# ~/Symbolic_Links/14amd64-blacklist | sort -d -u > /var/tmp/cleaned_blacklist

diff -B -w $1 /var/tmp/cleaned_blacklist | grep \< |sed  -e 's/^<\ //g' -e 's/---//g' -e '1d' > ~/$1-deblack

echo $1-deblack

I'll repeat myself as I said previously, Essential caveat: Use this script at your own risk, I make no promises.

Whether you simply use the blacklist mechanism within poudriere or pre-filter your file list with my script, either way there will be fewer ports built into packages in your repo.  There is no need for the whole circus including troupe of clowns to be handled by your system, if your purpose is a local repo for your own use and install.  I make larger bulk lists which may include all of the games or all of the fonts, and neither might all be installed, so I use the blacklist to avoid some I wouldn't use.  Those two bulk lists would be made directly from what is present in the ports tree while other things I install are based on what I do have installed already on my system.  Build your needed ports into installed packages through the use of poudriere, its a good tool for the average user when its limited to what you need rather than everything it might ordinarily act upon without a blacklist.

Friday, March 12, 2021

Poudriere blacklist filter

Remember when I mentioned in a previous blog post how it seemed strange that the blacklist was not applied to the input file at the outset?  I have finally perfected a script which will do this with only minor adjustment to the poudriere commandline invocation.  Of course, file names, script names, may need adjustment to suit your environment or tastes.  Below is the relatively simple sh script named p-keg-deblack which does the work.

#!/bin/sh
rm /var/tmp/cleaned_blacklist 2>/dev/null
grep -v \# ~/Symbolic_Links/13amd64-blacklist | sort -d -u >> /var/tmp/cleaned_blacklist

diff $1 /var/tmp/cleaned_blacklist | grep \< |sed  -e 's/^<\ //g' -e 's/---//g' -e '1d' > ~/$1-deblack

echo $1-deblack

First, it removes any temporary files it had created, if none exist the error is silenced.  Your blacklist file for poudriere may include comment lines which would begin with # and so those are excluded by an inverted grep.  Since my build lists are all sorted in dictionary order with only unique lines, we treat the blacklist the same way, regardless of how it is actually organized, the output is placed in a temporary file.  Now we compare the build list with the cleaned blacklist.  Diff will place all the lines unique to each file preceded with a < or > depending upon which file, the first is on the left "<" and the second is on the right ">".  We want those lines which are only in the build list, so we grep all lines beginning with "<" then we remove "< " to prepare the list for poudriere.  The first line of the diff indicates where in the file that section begins, and there is another line "---" which we do not want.  We create a file with your input file name adding a suffix of -deblack.  When this script is used, all that poudriere will see is this filename with suffix we just created.

How do we use this script when we invoke poudriere?  This makes the process as unobtrusive as possible, we add one more word and two characters.  Normally we would do something like the following:

poudriere bulk -f installed-pkgs-Gross -j 13amd64 -J 2:16
However, to include the script we use the line below:
poudriere bulk -f `p-keg-deblack installed-pkgs-Gross` -j 13amd64 -J 2:16

Essential caveat: Use this script at your own risk, I make no promises.

Sunday, February 7, 2021

Proving an update to a port maintainer

Sometimes a port can be updated but it becomes overlooked by the maintainer.  You can update it yourself, even use the port framework to facilitate the process, but its better to also let the maintainer know of your success.  Remember that I mentioned exploring bluefish editor for work on this blog, and later more firmly deciding it would be the tool for further updates.  It turns out that bluefish was last updated on November first last year, which means it has been about three months but that the most recent version was released on November fifth!  Since I am using it, and the most recent version fixes a bug that causes a crash (which I may have encountered a number of times already), I decided to see if I could update it.

The first step, is as root, to change to that port directory to look at the Makefile, to see if it will be a simple adjustment to the version number, then change it to match that new version.

# Created by: Koop Mast <einekoai@chello.nl>
# $FreeBSD$

PORTNAME=       bluefish
PORTVERSION=    2.2.11
CATEGORIES=     www editors
MASTER_SITES=   http://www.bennewitz.com/bluefish/stable/source/ \
                http://bluefish.mrball.net/stable/source/

MAINTAINER=     woodsb02@FreeBSD.org
COMMENT=        HTML editor designed for the experienced web designer

There is no port epoch and no oddness with either the master site or anything else that might need to be adjusted, so we can change that portversion to 2.2.12 and on to the next step.  In the directory for the port there are a number of files, common to most other ports in the tree.  The two that we will need to re-create are distinfo and pkg-plist.

.                ..               distinfo         Makefile         pkg-descr        pkg-message      pkg-plist

The distinfo file keeps track of the hash of the tarball and some other things which will not be the same for the new tarball.

TIMESTAMP = 1604208681
SHA256 (bluefish-2.2.11.tar.bz2) = 454c877fc1dbddfcc65cc7ddaa3c5ceb17bc46e216baf7878f09dbf1dabdc2ff
SIZE (bluefish-2.2.11.tar.bz2) = 4181242

In the past I believe there was an easy way too, but back then when I created the distinfo file myself, I did it manually which is a bit of effort compared to the alternative.  First we need to hide (or remove but I prefer hide) so simply rename it to something like distinfo-hid or distinfo-2.2.11.  The next two steps are automated and simple:

make fetch make makesum

The fetch operation will use the information in the Makefile to obtain the tarball without questions, the makesum command uses the Makefile and the tarball it obtained to calculate the checksum, grab the timestamp, and check the filesize, which is all saved in a fresh distinfo in the current directory (that contains the Makefile).  As you can see below, it is entirely different than the old distinfo.

TIMESTAMP = 1612677197
SHA256 (bluefish-2.2.12.tar.bz2) = 0df9905ba2c601cd767fa53e147969e9c90bc0cc4c005c4011c150b248979e6a
SIZE (bluefish-2.2.12.tar.bz2) = 4180228

Now we have two choices.  If you use poudriere we can use the testport function after copying the distinfo to the appropriate poudriere port directory configured for builds.  I will skip ahead here to show you the output when I ran

poudriere testport -o www/bluefish -j 12amd64

because although it is an easy fix, I presently accomplish it outside the poudriere port directory as a regular build but with a new command which is your second choice.   If you build as usual using the updated Makefile and distinfo, assuming you already have an older bluefish installed you'll not see the error message as from poudriere:

gmake[1]: Leaving directory '/wrkdirs/usr/ports/www/bluefish/work/bluefish-2.2.12'
====> Compressing man pages (compress-man)
===========================================================================
====> Running Q/A tests (stage-qa)
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%DATADIR%%/lipsum/__init__.py
Error: Missing: %%DATADIR%%/lipsum/data/dictionary.txt
Error: Missing: %%DATADIR%%/lipsum/data/lipsum.xml
Error: Missing: %%DATADIR%%/lipsum/data/sample.txt
===> Error: Plist issues found.
*** Error code 1

Stop.
make: stopped in /usr/ports/www/bluefish
=>> Error: check-plist failures detected
build of www/bluefish | bluefish-2.2.12 ended at Sun Feb  7 01:08:48 CST 2021
build time: 00:03:08
!!! build failure encountered !!!
[00:03:27] Error: Build failed in phase: check-plist
[00:03:27] Cleaning up
12amd64-default: removed
12amd64-default-n: removed
[00:03:27] Unmounting file systems

So then, we know that the step we missed was to create the new pkg-plist but how is that done?  Maybe you went direct to poudriere but if not, and you didn't stop when it warned you that bluefish was already installed and explained what to do about it, you will need to create the stage directory inside the work directory again.   We do a simple make then once that completes with no attempt to install or do anything else because it was just that one word, make, we follow it with another simple command.

make makeplist >> pkg-plist

The file is quite large, and the first line is a reminder that we need to verify what the automation gave us.  We can do two other things, we can compare this new pkg-plist file to the old one, and note the message we have from the poudriere testport build.

/you/have/to/check/what/makeplist/gives/you
bin/bluefish
lib/bluefish/about.so
lib/bluefish/charmap.so
lib/bluefish/entities.so
lib/bluefish/htmlbar.so
lib/bluefish/infbrowser.so
lib/bluefish/snippets.so
lib/bluefish/zencoding.so
man/man1/bluefish.1.gz
share/appdata/bluefish.appdata.xml
share/applications/bluefish.desktop
%%DATADIR%%/bflang/JQuery.bfinc
%%DATADIR%%/bflang/ada.bflang2
%%DATADIR%%/bflang/all-html.bfinc
%%DATADIR%%/bflang/all-html5.bfinc
%%DATADIR%%/bflang/all-javascript.bfinc
%%DATADIR%%/bflang/all-php.bfinc
%%DATADIR%%/bflang/all-vbscript.bfinc
%%DATADIR%%/bflang/asp-vbscript.bflang2
%%DATADIR%%/bflang/asp.bflang2
%%DATADIR%%/bflang/bflang2.bflang2
%%DATADIR%%/bflang/c.bflang2
%%DATADIR%%/bflang/cfml.bflang2
%%DATADIR%%/bflang/chuck.bflang2
%%DATADIR%%/bflang/clojure.bflang2
%%DATADIR%%/bflang/cpp.bflang2
%%DATADIR%%/bflang/css-rules.bfinc
%%DATADIR%%/bflang/css-selectors.bfinc
%%DATADIR%%/bflang/css.bflang2
%%DATADIR%%/bflang/d.bflang2
%%DATADIR%%/bflang/diff.bflang2
%%DATADIR%%/bflang/go.bflang2
%%DATADIR%%/bflang/highlighter.bflang2
%%DATADIR%%/bflang/html.bflang2
%%DATADIR%%/bflang/html5.bflang2
%%DATADIR%%/bflang/java.bflang2
%%DATADIR%%/bflang/javascript.bflang2
%%DATADIR%%/bflang/json.bflang2
%%DATADIR%%/bflang/jsp.bflang2
%%DATADIR%%/bflang/latex.bflang2
%%DATADIR%%/bflang/lua.bflang2
%%DATADIR%%/bflang/mediawiki.bflang2
%%DATADIR%%/bflang/nsis.bflang2
%%DATADIR%%/bflang/octave.bflang2
%%DATADIR%%/bflang/pascal.bflang2
%%DATADIR%%/bflang/perl.bflang2
%%DATADIR%%/bflang/php.bflang2
%%DATADIR%%/bflang/po.bflang2
%%DATADIR%%/bflang/processing.bflang2
%%DATADIR%%/bflang/python.bflang2
%%DATADIR%%/bflang/r.bflang2
%%DATADIR%%/bflang/ruby.bflang2
%%DATADIR%%/bflang/sass.bflang2
%%DATADIR%%/bflang/scheme.bflang2
%%DATADIR%%/bflang/shell.bflang2
%%DATADIR%%/bflang/smarty.bflang2
%%DATADIR%%/bflang/sql.bflang2
%%DATADIR%%/bflang/svg.bflang2
%%DATADIR%%/bflang/text.bflang2
%%DATADIR%%/bflang/vala.bflang2
%%DATADIR%%/bflang/vbscript.bflang2
%%DATADIR%%/bflang/wordpress.bfinc
%%DATADIR%%/bflang/wordpress.bflang2
%%DATADIR%%/bflang/xhtml.bflang2
%%DATADIR%%/bflang/xml.bflang2
%%DATADIR%%/bflang/xslt.bflang2
%%DATADIR%%/bflib/bflib_DocBook_4_5.xml.gz
%%DATADIR%%/bflib/bflib_DocBook_5_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Basic.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Full.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Tiny.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Frameset.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Strict.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Transitional.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_W3C.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_1.xml.gz
%%DATADIR%%/bflib/bflib_css2.xml.gz
%%DATADIR%%/bflib/bflib_dom.xml.gz
%%DATADIR%%/bflib/bflib_php4.xml.gz
%%DATADIR%%/bflib/bflib_php5.xml.gz
%%DATADIR%%/bflib/bflib_php5_with_examples.xml.gz
%%DATADIR%%/bflib/bflib_python_2.3.xml.gz
%%DATADIR%%/bflib/bflib_xhtml.xml.gz
%%DATADIR%%/bluefish_splash.png
%%DATADIR%%/colorprofiles/Dark_theme
%%DATADIR%%/colorprofiles/Light_theme
%%DATADIR%%/css_decompressor
%%DATADIR%%/cssmin.py
%%DATADIR%%/default_accelmap
%%DATADIR%%/encodings
%%DATADIR%%/jsbeautifier/__init__.py
%%DATADIR%%/jsbeautifier/__version__.py
%%DATADIR%%/jsbeautifier/unpackers/__init__.py
%%DATADIR%%/jsbeautifier/unpackers/evalbased.py
%%DATADIR%%/jsbeautifier/unpackers/javascriptobfuscator.py
%%DATADIR%%/jsbeautifier/unpackers/myobfuscate.py
%%DATADIR%%/jsbeautifier/unpackers/packer.py
%%DATADIR%%/jsbeautifier/unpackers/urlencode.py
%%DATADIR%%/jsbeautify
%%DATADIR%%/jsmin.py
%%DATADIR%%/lorem-ipsum-generator
%%DATADIR%%/plugins/htmlbar/ui/htmlbar_menu_ui.xml
%%DATADIR%%/plugins/zencoding/__init__.py
%%DATADIR%%/plugins/zencoding/actions/__init__.py
%%DATADIR%%/plugins/zencoding/actions/basic.py
%%DATADIR%%/plugins/zencoding/actions/token.py
%%DATADIR%%/plugins/zencoding/actions/traverse.py
%%DATADIR%%/plugins/zencoding/filters/__init__.py
%%DATADIR%%/plugins/zencoding/filters/comment.py
%%DATADIR%%/plugins/zencoding/filters/css.py
%%DATADIR%%/plugins/zencoding/filters/escape.py
%%DATADIR%%/plugins/zencoding/filters/format-css.py
%%DATADIR%%/plugins/zencoding/filters/format.py
%%DATADIR%%/plugins/zencoding/filters/haml.py
%%DATADIR%%/plugins/zencoding/filters/html.py
%%DATADIR%%/plugins/zencoding/filters/single-line.py
%%DATADIR%%/plugins/zencoding/filters/trim.py
%%DATADIR%%/plugins/zencoding/filters/xsl.py
%%DATADIR%%/plugins/zencoding/html_matcher.py
%%DATADIR%%/plugins/zencoding/interface/__init__.py
%%DATADIR%%/plugins/zencoding/interface/editor.py
%%DATADIR%%/plugins/zencoding/interface/file.py
%%DATADIR%%/plugins/zencoding/parser/__init__.py
%%DATADIR%%/plugins/zencoding/parser/abbreviation.py
%%DATADIR%%/plugins/zencoding/parser/css.py
%%DATADIR%%/plugins/zencoding/parser/utils.py
%%DATADIR%%/plugins/zencoding/parser/xml.py
%%DATADIR%%/plugins/zencoding/resources.py
%%DATADIR%%/plugins/zencoding/utils.py
%%DATADIR%%/plugins/zencoding/zen_settings.py
%%DATADIR%%/snippets
%%DATADIR%%/templates/C_header
%%DATADIR%%/templates/C_header_GPL
%%DATADIR%%/templates/HTML_5
%%DATADIR%%/templates/PHP
%%DATADIR%%/templates/XHTML_1.0
%%DATADIR%%/ui/bluefish_menu_ui.xml
%%PORTDOCS%%%%DOCSDIR%%/bflang/sample.bflang2
share/icons/hicolor/128x128/apps/bluefish.png
share/icons/hicolor/128x128/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/16x16/apps/bluefish.png
share/icons/hicolor/16x16/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/192x192/apps/bluefish.png
share/icons/hicolor/192x192/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/22x22/apps/bluefish.png
share/icons/hicolor/22x22/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/256x256/apps/bluefish.png
share/icons/hicolor/256x256/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/32x32/apps/bluefish.png
share/icons/hicolor/32x32/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/36x36/apps/bluefish.png
share/icons/hicolor/36x36/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/48x48/apps/bluefish.png
share/icons/hicolor/48x48/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/512x512/apps/bluefish.png
share/icons/hicolor/512x512/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/64x64/apps/bluefish.png
share/icons/hicolor/64x64/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/72x72/apps/bluefish.png
share/icons/hicolor/72x72/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/96x96/apps/bluefish.png
share/icons/hicolor/96x96/mimetypes/application-x-bluefish-project.png
share/icons/hicolor/scalable/apps/bluefish-icon.svg
share/icons/hicolor/scalable/mimetypes/bluefish-project.svg
share/locale/ar/LC_MESSAGES/bluefish.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/bg/LC_MESSAGES/bluefish.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ca/LC_MESSAGES/bluefish.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/cs/LC_MESSAGES/bluefish.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/da/LC_MESSAGES/bluefish.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/de/LC_MESSAGES/bluefish.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/el/LC_MESSAGES/bluefish.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/en/LC_MESSAGES/bluefish.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/es/LC_MESSAGES/bluefish.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/eu/LC_MESSAGES/bluefish.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fa/LC_MESSAGES/bluefish.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fi/LC_MESSAGES/bluefish.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fr/LC_MESSAGES/bluefish.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/gl/LC_MESSAGES/bluefish.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/hu/LC_MESSAGES/bluefish.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/it/LC_MESSAGES/bluefish.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ja/LC_MESSAGES/bluefish.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ko/LC_MESSAGES/bluefish.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nb/LC_MESSAGES/bluefish.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nl/LC_MESSAGES/bluefish.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nn/LC_MESSAGES/bluefish.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pl/LC_MESSAGES/bluefish.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt/LC_MESSAGES/bluefish.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt_BR/LC_MESSAGES/bluefish.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ro/LC_MESSAGES/bluefish.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ru/LC_MESSAGES/bluefish.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sk/LC_MESSAGES/bluefish.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sr/LC_MESSAGES/bluefish.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sv/LC_MESSAGES/bluefish.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ta/LC_MESSAGES/bluefish.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/tr/LC_MESSAGES/bluefish.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/uk/LC_MESSAGES/bluefish.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/zh_CN/LC_MESSAGES/bluefish.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/zh_TW/LC_MESSAGES/bluefish.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/mime/packages/bluefish.xml
share/pixmaps/application-x-bluefish-project.png
share/pixmaps/bluefish.png
share/xml/bluefish/2.0/bflang2.rng
share/xml/bluefish/catalog.xml

If we run a diff -y old-pkg-plist new-pkg-plist we can see what is different, and it appears that we really need to make just one small adjustment.

bin/bluefish								bin/bluefish
lib/bluefish/about.so							lib/bluefish/about.so
%%GTK3%%lib/bluefish/charmap.so					|       lib/bluefish/charmap.so
lib/bluefish/entities.so						lib/bluefish/entities.so
lib/bluefish/htmlbar.so							lib/bluefish/htmlbar.so
lib/bluefish/infbrowser.so						lib/bluefish/infbrowser.so
lib/bluefish/snippets.so						lib/bluefish/snippets.so
lib/bluefish/zencoding.so						lib/bluefish/zencoding.so
man/man1/bluefish.1.gz							man/man1/bluefish.1.gz
share/appdata/bluefish.appdata.xml					share/appdata/bluefish.appdata.xml
share/applications/bluefish.desktop					share/applications/bluefish.desktop
%%DATADIR%%/bflang/JQuery.bfinc						%%DATADIR%%/bflang/JQuery.bfinc
%%DATADIR%%/bflang/ada.bflang2						%%DATADIR%%/bflang/ada.bflang2
%%DATADIR%%/bflang/all-html.bfinc					%%DATADIR%%/bflang/all-html.bfinc
%%DATADIR%%/bflang/all-html5.bfinc					%%DATADIR%%/bflang/all-html5.bfinc
%%DATADIR%%/bflang/all-javascript.bfinc					%%DATADIR%%/bflang/all-javascript.bfinc
%%DATADIR%%/bflang/all-php.bfinc					%%DATADIR%%/bflang/all-php.bfinc
%%DATADIR%%/bflang/all-vbscript.bfinc					%%DATADIR%%/bflang/all-vbscript.bfinc
%%DATADIR%%/bflang/asp-vbscript.bflang2					%%DATADIR%%/bflang/asp-vbscript.bflang2
%%DATADIR%%/bflang/asp.bflang2						%%DATADIR%%/bflang/asp.bflang2
%%DATADIR%%/bflang/bflang2.bflang2					%%DATADIR%%/bflang/bflang2.bflang2
%%DATADIR%%/bflang/c.bflang2						%%DATADIR%%/bflang/c.bflang2
%%DATADIR%%/bflang/cfml.bflang2						%%DATADIR%%/bflang/cfml.bflang2
%%DATADIR%%/bflang/chuck.bflang2					%%DATADIR%%/bflang/chuck.bflang2
%%DATADIR%%/bflang/clojure.bflang2					%%DATADIR%%/bflang/clojure.bflang2
%%DATADIR%%/bflang/cpp.bflang2						%%DATADIR%%/bflang/cpp.bflang2
%%DATADIR%%/bflang/css-rules.bfinc					%%DATADIR%%/bflang/css-rules.bfinc
%%DATADIR%%/bflang/css-selectors.bfinc					%%DATADIR%%/bflang/css-selectors.bfinc
%%DATADIR%%/bflang/css.bflang2						%%DATADIR%%/bflang/css.bflang2
%%DATADIR%%/bflang/d.bflang2						%%DATADIR%%/bflang/d.bflang2
%%DATADIR%%/bflang/diff.bflang2						%%DATADIR%%/bflang/diff.bflang2
%%DATADIR%%/bflang/go.bflang2						%%DATADIR%%/bflang/go.bflang2
%%DATADIR%%/bflang/highlighter.bflang2					%%DATADIR%%/bflang/highlighter.bflang2
%%DATADIR%%/bflang/html.bflang2						%%DATADIR%%/bflang/html.bflang2
%%DATADIR%%/bflang/html5.bflang2					%%DATADIR%%/bflang/html5.bflang2
%%DATADIR%%/bflang/java.bflang2						%%DATADIR%%/bflang/java.bflang2
%%DATADIR%%/bflang/javascript.bflang2					%%DATADIR%%/bflang/javascript.bflang2
%%DATADIR%%/bflang/json.bflang2						%%DATADIR%%/bflang/json.bflang2
%%DATADIR%%/bflang/jsp.bflang2						%%DATADIR%%/bflang/jsp.bflang2
%%DATADIR%%/bflang/latex.bflang2					%%DATADIR%%/bflang/latex.bflang2
%%DATADIR%%/bflang/lua.bflang2						%%DATADIR%%/bflang/lua.bflang2
%%DATADIR%%/bflang/mediawiki.bflang2					%%DATADIR%%/bflang/mediawiki.bflang2
%%DATADIR%%/bflang/nsis.bflang2						%%DATADIR%%/bflang/nsis.bflang2
%%DATADIR%%/bflang/octave.bflang2					%%DATADIR%%/bflang/octave.bflang2
%%DATADIR%%/bflang/pascal.bflang2					%%DATADIR%%/bflang/pascal.bflang2
%%DATADIR%%/bflang/perl.bflang2						%%DATADIR%%/bflang/perl.bflang2
%%DATADIR%%/bflang/php.bflang2						%%DATADIR%%/bflang/php.bflang2
%%DATADIR%%/bflang/po.bflang2						%%DATADIR%%/bflang/po.bflang2
%%DATADIR%%/bflang/processing.bflang2					%%DATADIR%%/bflang/processing.bflang2
%%DATADIR%%/bflang/python.bflang2					%%DATADIR%%/bflang/python.bflang2
%%DATADIR%%/bflang/r.bflang2						%%DATADIR%%/bflang/r.bflang2
%%DATADIR%%/bflang/ruby.bflang2						%%DATADIR%%/bflang/ruby.bflang2
%%DATADIR%%/bflang/sass.bflang2						%%DATADIR%%/bflang/sass.bflang2
%%DATADIR%%/bflang/scheme.bflang2					%%DATADIR%%/bflang/scheme.bflang2
%%DATADIR%%/bflang/shell.bflang2					%%DATADIR%%/bflang/shell.bflang2
%%DATADIR%%/bflang/smarty.bflang2					%%DATADIR%%/bflang/smarty.bflang2
%%DATADIR%%/bflang/sql.bflang2						%%DATADIR%%/bflang/sql.bflang2
%%DATADIR%%/bflang/svg.bflang2						%%DATADIR%%/bflang/svg.bflang2
%%DATADIR%%/bflang/text.bflang2						%%DATADIR%%/bflang/text.bflang2
%%DATADIR%%/bflang/vala.bflang2						%%DATADIR%%/bflang/vala.bflang2
%%DATADIR%%/bflang/vbscript.bflang2					%%DATADIR%%/bflang/vbscript.bflang2
%%DATADIR%%/bflang/wordpress.bfinc					%%DATADIR%%/bflang/wordpress.bfinc
%%DATADIR%%/bflang/wordpress.bflang2					%%DATADIR%%/bflang/wordpress.bflang2
%%DATADIR%%/bflang/xhtml.bflang2					%%DATADIR%%/bflang/xhtml.bflang2
%%DATADIR%%/bflang/xml.bflang2						%%DATADIR%%/bflang/xml.bflang2
%%DATADIR%%/bflang/xslt.bflang2						%%DATADIR%%/bflang/xslt.bflang2
%%DATADIR%%/bflib/bflib_DocBook_4_5.xml.gz				%%DATADIR%%/bflib/bflib_DocBook_4_5.xml.gz
%%DATADIR%%/bflib/bflib_DocBook_5_0.xml.gz				%%DATADIR%%/bflib/bflib_DocBook_5_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_0.xml.gz					%%DATADIR%%/bflib/bflib_SVG_1_0.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Basic.xml.gz				%%DATADIR%%/bflib/bflib_SVG_1_1_Basic.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Full.xml.gz				%%DATADIR%%/bflib/bflib_SVG_1_1_Full.xml.gz
%%DATADIR%%/bflib/bflib_SVG_1_1_Tiny.xml.gz				%%DATADIR%%/bflib/bflib_SVG_1_1_Tiny.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Frameset.xml.gz			%%DATADIR%%/bflib/bflib_XHTML_1_0_Frameset.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Strict.xml.gz				%%DATADIR%%/bflib/bflib_XHTML_1_0_Strict.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_Transitional.xml.gz			%%DATADIR%%/bflib/bflib_XHTML_1_0_Transitional.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_0_W3C.xml.gz				%%DATADIR%%/bflib/bflib_XHTML_1_0_W3C.xml.gz
%%DATADIR%%/bflib/bflib_XHTML_1_1.xml.gz				%%DATADIR%%/bflib/bflib_XHTML_1_1.xml.gz
%%DATADIR%%/bflib/bflib_css2.xml.gz					%%DATADIR%%/bflib/bflib_css2.xml.gz
%%DATADIR%%/bflib/bflib_dom.xml.gz					%%DATADIR%%/bflib/bflib_dom.xml.gz
%%DATADIR%%/bflib/bflib_php4.xml.gz					%%DATADIR%%/bflib/bflib_php4.xml.gz
%%DATADIR%%/bflib/bflib_php5.xml.gz					%%DATADIR%%/bflib/bflib_php5.xml.gz
%%DATADIR%%/bflib/bflib_php5_with_examples.xml.gz			%%DATADIR%%/bflib/bflib_php5_with_examples.xml.gz
%%DATADIR%%/bflib/bflib_python_2.3.xml.gz				%%DATADIR%%/bflib/bflib_python_2.3.xml.gz
%%DATADIR%%/bflib/bflib_xhtml.xml.gz					%%DATADIR%%/bflib/bflib_xhtml.xml.gz
%%DATADIR%%/bluefish_splash.png						%%DATADIR%%/bluefish_splash.png
%%DATADIR%%/colorprofiles/Dark_theme					%%DATADIR%%/colorprofiles/Dark_theme
%%DATADIR%%/colorprofiles/Light_theme					%%DATADIR%%/colorprofiles/Light_theme
%%DATADIR%%/css_decompressor						%%DATADIR%%/css_decompressor
%%DATADIR%%/cssmin.py							%%DATADIR%%/cssmin.py
%%DATADIR%%/default_accelmap						%%DATADIR%%/default_accelmap
%%DATADIR%%/encodings							%%DATADIR%%/encodings
%%DATADIR%%/jsbeautifier/__init__.py					%%DATADIR%%/jsbeautifier/__init__.py
%%DATADIR%%/jsbeautifier/__version__.py					%%DATADIR%%/jsbeautifier/__version__.py
%%DATADIR%%/jsbeautifier/unpackers/__init__.py				%%DATADIR%%/jsbeautifier/unpackers/__init__.py
%%DATADIR%%/jsbeautifier/unpackers/evalbased.py				%%DATADIR%%/jsbeautifier/unpackers/evalbased.py
%%DATADIR%%/jsbeautifier/unpackers/javascriptobfuscator.p		%%DATADIR%%/jsbeautifier/unpackers/javascriptobfuscator.p
%%DATADIR%%/jsbeautifier/unpackers/myobfuscate.py			%%DATADIR%%/jsbeautifier/unpackers/myobfuscate.py
%%DATADIR%%/jsbeautifier/unpackers/packer.py				%%DATADIR%%/jsbeautifier/unpackers/packer.py
%%DATADIR%%/jsbeautifier/unpackers/urlencode.py				%%DATADIR%%/jsbeautifier/unpackers/urlencode.py
%%DATADIR%%/jsbeautify							%%DATADIR%%/jsbeautify
%%DATADIR%%/jsmin.py							%%DATADIR%%/jsmin.py
%%DATADIR%%/lipsum/__init__.py					<
%%DATADIR%%/lipsum/data/dictionary.txt				<
%%DATADIR%%/lipsum/data/lipsum.xml				<
%%DATADIR%%/lipsum/data/sample.txt				<
%%DATADIR%%/lorem-ipsum-generator					%%DATADIR%%/lorem-ipsum-generator
%%DATADIR%%/plugins/htmlbar/ui/htmlbar_menu_ui.xml			%%DATADIR%%/plugins/htmlbar/ui/htmlbar_menu_ui.xml
%%DATADIR%%/plugins/zencoding/__init__.py				%%DATADIR%%/plugins/zencoding/__init__.py
%%DATADIR%%/plugins/zencoding/actions/__init__.py			%%DATADIR%%/plugins/zencoding/actions/__init__.py
%%DATADIR%%/plugins/zencoding/actions/basic.py				%%DATADIR%%/plugins/zencoding/actions/basic.py
%%DATADIR%%/plugins/zencoding/actions/token.py				%%DATADIR%%/plugins/zencoding/actions/token.py
%%DATADIR%%/plugins/zencoding/actions/traverse.py			%%DATADIR%%/plugins/zencoding/actions/traverse.py
%%DATADIR%%/plugins/zencoding/filters/__init__.py			%%DATADIR%%/plugins/zencoding/filters/__init__.py
%%DATADIR%%/plugins/zencoding/filters/comment.py			%%DATADIR%%/plugins/zencoding/filters/comment.py
%%DATADIR%%/plugins/zencoding/filters/css.py				%%DATADIR%%/plugins/zencoding/filters/css.py
%%DATADIR%%/plugins/zencoding/filters/escape.py				%%DATADIR%%/plugins/zencoding/filters/escape.py
%%DATADIR%%/plugins/zencoding/filters/format-css.py			%%DATADIR%%/plugins/zencoding/filters/format-css.py
%%DATADIR%%/plugins/zencoding/filters/format.py				%%DATADIR%%/plugins/zencoding/filters/format.py
%%DATADIR%%/plugins/zencoding/filters/haml.py				%%DATADIR%%/plugins/zencoding/filters/haml.py
%%DATADIR%%/plugins/zencoding/filters/html.py				%%DATADIR%%/plugins/zencoding/filters/html.py
%%DATADIR%%/plugins/zencoding/filters/single-line.py			%%DATADIR%%/plugins/zencoding/filters/single-line.py
%%DATADIR%%/plugins/zencoding/filters/trim.py				%%DATADIR%%/plugins/zencoding/filters/trim.py
%%DATADIR%%/plugins/zencoding/filters/xsl.py				%%DATADIR%%/plugins/zencoding/filters/xsl.py
%%DATADIR%%/plugins/zencoding/html_matcher.py				%%DATADIR%%/plugins/zencoding/html_matcher.py
%%DATADIR%%/plugins/zencoding/interface/__init__.py			%%DATADIR%%/plugins/zencoding/interface/__init__.py
%%DATADIR%%/plugins/zencoding/interface/editor.py			%%DATADIR%%/plugins/zencoding/interface/editor.py
%%DATADIR%%/plugins/zencoding/interface/file.py				%%DATADIR%%/plugins/zencoding/interface/file.py
%%DATADIR%%/plugins/zencoding/parser/__init__.py			%%DATADIR%%/plugins/zencoding/parser/__init__.py
%%DATADIR%%/plugins/zencoding/parser/abbreviation.py			%%DATADIR%%/plugins/zencoding/parser/abbreviation.py
%%DATADIR%%/plugins/zencoding/parser/css.py				%%DATADIR%%/plugins/zencoding/parser/css.py
%%DATADIR%%/plugins/zencoding/parser/utils.py				%%DATADIR%%/plugins/zencoding/parser/utils.py
%%DATADIR%%/plugins/zencoding/parser/xml.py				%%DATADIR%%/plugins/zencoding/parser/xml.py
%%DATADIR%%/plugins/zencoding/resources.py				%%DATADIR%%/plugins/zencoding/resources.py
%%DATADIR%%/plugins/zencoding/utils.py					%%DATADIR%%/plugins/zencoding/utils.py
%%DATADIR%%/plugins/zencoding/zen_settings.py				%%DATADIR%%/plugins/zencoding/zen_settings.py
%%DATADIR%%/snippets							%%DATADIR%%/snippets
%%DATADIR%%/templates/C_header						%%DATADIR%%/templates/C_header
%%DATADIR%%/templates/C_header_GPL					%%DATADIR%%/templates/C_header_GPL
%%DATADIR%%/templates/HTML_5						%%DATADIR%%/templates/HTML_5
%%DATADIR%%/templates/PHP						%%DATADIR%%/templates/PHP
%%DATADIR%%/templates/XHTML_1.0						%%DATADIR%%/templates/XHTML_1.0
%%DATADIR%%/ui/bluefish_menu_ui.xml					%%DATADIR%%/ui/bluefish_menu_ui.xml
%%PORTDOCS%%%%DOCSDIR%%/bflang/sample.bflang2				%%PORTDOCS%%%%DOCSDIR%%/bflang/sample.bflang2
share/icons/hicolor/128x128/apps/bluefish.png				share/icons/hicolor/128x128/apps/bluefish.png
share/icons/hicolor/128x128/mimetypes/application-x-bluef		share/icons/hicolor/128x128/mimetypes/application-x-bluef
share/icons/hicolor/16x16/apps/bluefish.png				share/icons/hicolor/16x16/apps/bluefish.png
share/icons/hicolor/16x16/mimetypes/application-x-bluefis		share/icons/hicolor/16x16/mimetypes/application-x-bluefis
share/icons/hicolor/192x192/apps/bluefish.png				share/icons/hicolor/192x192/apps/bluefish.png
share/icons/hicolor/192x192/mimetypes/application-x-bluef		share/icons/hicolor/192x192/mimetypes/application-x-bluef
share/icons/hicolor/22x22/apps/bluefish.png				share/icons/hicolor/22x22/apps/bluefish.png
share/icons/hicolor/22x22/mimetypes/application-x-bluefis		share/icons/hicolor/22x22/mimetypes/application-x-bluefis
share/icons/hicolor/256x256/apps/bluefish.png				share/icons/hicolor/256x256/apps/bluefish.png
share/icons/hicolor/256x256/mimetypes/application-x-bluef		share/icons/hicolor/256x256/mimetypes/application-x-bluef
share/icons/hicolor/32x32/apps/bluefish.png				share/icons/hicolor/32x32/apps/bluefish.png
share/icons/hicolor/32x32/mimetypes/application-x-bluefis		share/icons/hicolor/32x32/mimetypes/application-x-bluefis
share/icons/hicolor/36x36/apps/bluefish.png				share/icons/hicolor/36x36/apps/bluefish.png
share/icons/hicolor/36x36/mimetypes/application-x-bluefis		share/icons/hicolor/36x36/mimetypes/application-x-bluefis
share/icons/hicolor/48x48/apps/bluefish.png				share/icons/hicolor/48x48/apps/bluefish.png
share/icons/hicolor/48x48/mimetypes/application-x-bluefis		share/icons/hicolor/48x48/mimetypes/application-x-bluefis
share/icons/hicolor/512x512/apps/bluefish.png				share/icons/hicolor/512x512/apps/bluefish.png
share/icons/hicolor/512x512/mimetypes/application-x-bluef		share/icons/hicolor/512x512/mimetypes/application-x-bluef
share/icons/hicolor/64x64/apps/bluefish.png				share/icons/hicolor/64x64/apps/bluefish.png
share/icons/hicolor/64x64/mimetypes/application-x-bluefis		share/icons/hicolor/64x64/mimetypes/application-x-bluefis
share/icons/hicolor/72x72/apps/bluefish.png				share/icons/hicolor/72x72/apps/bluefish.png
share/icons/hicolor/72x72/mimetypes/application-x-bluefis		share/icons/hicolor/72x72/mimetypes/application-x-bluefis
share/icons/hicolor/96x96/apps/bluefish.png				share/icons/hicolor/96x96/apps/bluefish.png
share/icons/hicolor/96x96/mimetypes/application-x-bluefis		share/icons/hicolor/96x96/mimetypes/application-x-bluefis
share/icons/hicolor/scalable/apps/bluefish-icon.svg			share/icons/hicolor/scalable/apps/bluefish-icon.svg
share/icons/hicolor/scalable/mimetypes/bluefish-project.s		share/icons/hicolor/scalable/mimetypes/bluefish-project.s
share/locale/ar/LC_MESSAGES/bluefish.mo					share/locale/ar/LC_MESSAGES/bluefish.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ar/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ar/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ar/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ar/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/bg/LC_MESSAGES/bluefish.mo					share/locale/bg/LC_MESSAGES/bluefish.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/bg/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/bg/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/bg/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/bg/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ca/LC_MESSAGES/bluefish.mo					share/locale/ca/LC_MESSAGES/bluefish.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ca/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ca/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ca/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ca/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/cs/LC_MESSAGES/bluefish.mo					share/locale/cs/LC_MESSAGES/bluefish.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/cs/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/cs/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/cs/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/cs/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/da/LC_MESSAGES/bluefish.mo					share/locale/da/LC_MESSAGES/bluefish.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/da/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/da/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/da/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/da/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/de/LC_MESSAGES/bluefish.mo					share/locale/de/LC_MESSAGES/bluefish.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/de/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/de/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/de/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/de/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/el/LC_MESSAGES/bluefish.mo					share/locale/el/LC_MESSAGES/bluefish.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/el/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/el/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/el/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/el/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/en/LC_MESSAGES/bluefish.mo					share/locale/en/LC_MESSAGES/bluefish.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/en/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/en/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/en/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/en/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/es/LC_MESSAGES/bluefish.mo					share/locale/es/LC_MESSAGES/bluefish.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/es/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/es/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/es/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/es/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/eu/LC_MESSAGES/bluefish.mo					share/locale/eu/LC_MESSAGES/bluefish.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/eu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/eu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/eu/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/eu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fa/LC_MESSAGES/bluefish.mo					share/locale/fa/LC_MESSAGES/bluefish.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/fa/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/fa/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fa/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/fa/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fi/LC_MESSAGES/bluefish.mo					share/locale/fi/LC_MESSAGES/bluefish.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/fi/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/fi/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fi/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/fi/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/fr/LC_MESSAGES/bluefish.mo					share/locale/fr/LC_MESSAGES/bluefish.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/fr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/fr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/fr/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/fr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/gl/LC_MESSAGES/bluefish.mo					share/locale/gl/LC_MESSAGES/bluefish.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/gl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/gl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/gl/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/gl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/hu/LC_MESSAGES/bluefish.mo					share/locale/hu/LC_MESSAGES/bluefish.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/hu/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/hu/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/hu/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/hu/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/it/LC_MESSAGES/bluefish.mo					share/locale/it/LC_MESSAGES/bluefish.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/it/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/it/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/it/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/it/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ja/LC_MESSAGES/bluefish.mo					share/locale/ja/LC_MESSAGES/bluefish.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ja/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ja/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ja/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ja/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ko/LC_MESSAGES/bluefish.mo					share/locale/ko/LC_MESSAGES/bluefish.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ko/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ko/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ko/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ko/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nb/LC_MESSAGES/bluefish.mo					share/locale/nb/LC_MESSAGES/bluefish.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/nb/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/nb/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nb/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/nb/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nl/LC_MESSAGES/bluefish.mo					share/locale/nl/LC_MESSAGES/bluefish.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/nl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/nl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nl/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/nl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/nn/LC_MESSAGES/bluefish.mo					share/locale/nn/LC_MESSAGES/bluefish.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/nn/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/nn/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/nn/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/nn/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pl/LC_MESSAGES/bluefish.mo					share/locale/pl/LC_MESSAGES/bluefish.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/pl/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/pl/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pl/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/pl/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt/LC_MESSAGES/bluefish.mo					share/locale/pt/LC_MESSAGES/bluefish.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/pt/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/pt/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/pt/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/pt/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/pt_BR/LC_MESSAGES/bluefish.mo				share/locale/pt_BR/LC_MESSAGES/bluefish.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_charmap.mo		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_entities.m		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_entities.m
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_htmlbar.mo		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_infbrowser		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_infbrowser
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_snippets.m		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_snippets.m
share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_zencoding.		share/locale/pt_BR/LC_MESSAGES/bluefish_plugin_zencoding.
share/locale/ro/LC_MESSAGES/bluefish.mo					share/locale/ro/LC_MESSAGES/bluefish.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ro/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ro/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ro/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ro/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ru/LC_MESSAGES/bluefish.mo					share/locale/ru/LC_MESSAGES/bluefish.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ru/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ru/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ru/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ru/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sk/LC_MESSAGES/bluefish.mo					share/locale/sk/LC_MESSAGES/bluefish.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/sk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/sk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sk/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/sk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sr/LC_MESSAGES/bluefish.mo					share/locale/sr/LC_MESSAGES/bluefish.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/sr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/sr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sr/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/sr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/sv/LC_MESSAGES/bluefish.mo					share/locale/sv/LC_MESSAGES/bluefish.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/sv/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/sv/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/sv/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/sv/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/ta/LC_MESSAGES/bluefish.mo					share/locale/ta/LC_MESSAGES/bluefish.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/ta/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/ta/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/ta/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/ta/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/tr/LC_MESSAGES/bluefish.mo					share/locale/tr/LC_MESSAGES/bluefish.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/tr/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/tr/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/tr/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/tr/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/uk/LC_MESSAGES/bluefish.mo					share/locale/uk/LC_MESSAGES/bluefish.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_charmap.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_entities.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_entities.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_htmlbar.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_infbrowser.mo		share/locale/uk/LC_MESSAGES/bluefish_plugin_infbrowser.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_snippets.mo			share/locale/uk/LC_MESSAGES/bluefish_plugin_snippets.mo
share/locale/uk/LC_MESSAGES/bluefish_plugin_zencoding.mo		share/locale/uk/LC_MESSAGES/bluefish_plugin_zencoding.mo
share/locale/zh_CN/LC_MESSAGES/bluefish.mo				share/locale/zh_CN/LC_MESSAGES/bluefish.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_charmap.mo		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_entities.m		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_entities.m
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_htmlbar.mo		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_infbrowser		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_infbrowser
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_snippets.m		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_snippets.m
share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_zencoding.		share/locale/zh_CN/LC_MESSAGES/bluefish_plugin_zencoding.
share/locale/zh_TW/LC_MESSAGES/bluefish.mo				share/locale/zh_TW/LC_MESSAGES/bluefish.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_about.mo			share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_about.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_charmap.mo		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_charmap.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_entities.m		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_entities.m
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_htmlbar.mo		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_htmlbar.mo
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_infbrowser		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_infbrowser
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_snippets.m		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_snippets.m
share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_zencoding.		share/locale/zh_TW/LC_MESSAGES/bluefish_plugin_zencoding.
share/mime/packages/bluefish.xml					share/mime/packages/bluefish.xml
share/pixmaps/application-x-bluefish-project.png			share/pixmaps/application-x-bluefish-project.png
share/pixmaps/bluefish.png						share/pixmaps/bluefish.png
share/xml/bluefish/2.0/bflang2.rng					share/xml/bluefish/2.0/bflang2.rng
share/xml/bluefish/catalog.xml						share/xml/bluefish/catalog.xml

We can assume that the new build may not include some files, so for us, we can ignore that some files are missing in the list on the right, but what is more important is the third line.  This is a special variable relating to the gtk install directory, similar variables are mentioned in the porter's handbook under 8.5.  Automated Package List Creation.  Now that the pkg-plist is updated, along with the distinfo, we can build with poudriere testport or the normal build, as either make install clean or make reinstall clean depending on whether you still have the old bluefish installed.  How do we tell the port maintainer about our success and what should we include? We file an appropriate bug report and we attach or paste the contents of the output for

pkg info bluefish
bluefish-2.2.12
Name           : bluefish
Version        : 2.2.12
Installed on   : Sun Feb  7 07:26:34 2021 CST
Origin         : www/bluefish
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : editors www
Licenses       : GPLv3+
Maintainer     : woodsb02@FreeBSD.org
WWW            : http://bluefish.openoffice.nl/
Comment        : HTML editor designed for the experienced web designer
Options        :
        DEBUG          : off
        DOCS           : on
        GTK2           : off
        GTK3           : on
        TIDY           : on
Shared Libs required:
        libgdk-3.so.0
        libglib-2.0.so.0
        libgucharmap_2_90.so.7
        libgobject-2.0.so.0
        libpango-1.0.so.0
        libcairo.so.2
        libgtk-3.so.0
        libxml2.so.2
        libintl.so.8
        libcairo-gobject.so.2
        libatk-1.0.so.0
        libgmodule-2.0.so.0
        libgthread-2.0.so.0
        libenchant.so.1
        libgdk_pixbuf-2.0.so.0
        libpython3.7m.so.1.0
        libgio-2.0.so.0
        libpangocairo-1.0.so.0
Annotations    :
        FreeBSD_version: 1202504
        repo_type      : binary
        repository     : poudriere
Flat size      : 9.21MiB
Description    :
Bluefish is a powerful editor targeted towards programmers and web
developers, with many options to write websites, scripts and programming
code. Bluefish supports many programming and markup languages and has
many features, but is still a very fast and lightweight application.

WWW: http://bluefish.openoffice.nl/
The bug report all filled out.

I challenge you all to do the same process with any of your more favorite ports which you ever discover might be in need of an update.  If it is not such a simple effort, like my other attempt for enlightenment, you can beat on it a bit more to succeed, your mileage will vary, I cannot guess what you will run into.  However, if you eventually succeed, just as when it is simple, gather the information and submit a bug report.  You will need to make an account on the FreeBSD bugzilla site but you can certainly use freshports report bug icon freshports bug report icon for that port entry to get there.

The response can be quick.  I'm sure that the more work we do the more likely the maintainer will respond with an update in a fairly short timeframe.   As you can see, I've also gained some constructive criticism.   I was unaware of the svn diff function, but now that I know about it I can use it next time.   We know there will be a next time and you know about svn diff now too.  My word choice also lead to a minor misunderstanding, as we know that I generated both the pkg-plist and distinfo.  And nearly as quick as producing this blog post, we all have an updated bluefish to use from ports!

Frequently viewed this week