From: Marc Espie Subject: Re: a first sweep of cleaning up quirks To: ports Date: Tue, 15 Oct 2024 21:45:45 +0200 On Tue, Oct 15, 2024 at 02:46:18PM +0100, Stuart Henderson wrote: > Some of the quirks tables are getting a bit unwieldy (particularly > noticeable if you're scrolling around trying to add new things to it). > So I thought I'd have a bit of a tidy. > > - remove pre-6.9 information and associated $obsolete_message entries > that were only associated with those. > > a big jump from 6.8 or before in a single step to 7.6 is expecting a bit > much from packages. (this could possibly go further - binaries from the > installed packages are automatically run in some cases at pkg_delete > time by @unexec or @tag and that's simply not going to work with changes > to the libc/kernel interface - though those tend to be in ports which > are more common on desktops than servers - so this seems a reasonable > cutoff for now). > > - switch some more-specific messages that don't add user-actionable > information to simple "no longer maintained upstream", for example these > > "crashes in many different ways at runtime, does not build with '-fno-common'", > "upstream is dead, default settings cause crash when connecting to mpd", > "upstream is dead, basic functionality does not work, use tcpdump(1) and scapy(1) instead", > "upstream is dead, no longer useful, does not support IPv6", > "upstream is dead, default settings cause crash when connecting to mpd", > "Flash/SWF is end-of-life", > > - there are probably more that can go or be amalgamated to a new > description (for example a few specific ones could change to "newer > versions require software that doesn't work on OpenBSD") - also > there are $cve entries which are from paths which no longer exist - > but it's a start.. > > any objections? ok? > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/devel/quirks/Makefile,v > diff -u -p -r1.1648 Makefile > --- Makefile 15 Oct 2024 10:47:21 -0000 1.1648 > +++ Makefile 15 Oct 2024 13:37:45 -0000 > @@ -3,7 +3,7 @@ CATEGORIES = devel databases > DISTFILES = > > # API.rev > -PKGNAME = quirks-7.55 > +PKGNAME = quirks-7.56 > PKG_ARCH = * > MAINTAINER = Marc Espie > > Index: files/Quirks.pm > =================================================================== > RCS file: /cvs/ports/devel/quirks/files/Quirks.pm,v > diff -u -p -r1.1659 Quirks.pm > --- files/Quirks.pm 15 Oct 2024 10:47:21 -0000 1.1659 > +++ files/Quirks.pm 15 Oct 2024 13:37:45 -0000 > @@ -57,260 +57,12 @@ sub tweak_list > my $p5a = $Config{archlib}; > my $p5 = "/usr/libdata/perl5"; > my $base_exceptions = { > -# 6.5 > - 'libelf' => '/usr/lib/libelf.so.*', > # 6.9 > 'acme-client' => '/usr/sbin/acme-client', > 'libexecinfo' => '/usr/include/execinfo.h', > }; > > my $stem_extensions = { > -# 6.3 > - 'ruby-arirang' => 'arirang', > - 'ja-mplus-ttf' => 'mixfont-mplus-ipa', > - 'kdirstat' => 'qdirstat', > - 'stem' => 'py-stem', > - 'arm' => 'nyx', > - 'luabitop' => 'lua-bitop', > - 'livestreamer' => 'streamlink', > - 'newsbeuter' => 'newsboat', > - 'php-fastcgi' => 'php-cgi', > - 'advancemess' => 'advancemame', > -# 6.4 > - 'gnome-tweak-tool' => 'gnome-tweaks', > - 'latexila' => 'gnome-latex', > - 'osh' => 'etsh', > - 'gnome-themes-standard' => 'gnome-themes-extra', > - 'open-cobol' => 'gnucobol', > - 'fanstasque-sans' => 'fantasque-sans', > - 'rope' => 'py-rope', > - 'py-upt-rubygems' => 'upt-rubygems', > - 'pygame' => 'py-game', > - 'py-cryptodomex' => 'py-cryptodome', > - 'py3-cryptodomex' => 'py3-cryptodome', > - 'py-crypto' => 'py-cryptodome', > - 'py3-crypto' => 'py3-cryptodome', > - 'py-link-grammar' => 'py3-link-grammar', > - 'py-buildbot' => 'buildbot', > - 'py-buildbot-www' => 'py3-buildbot-www', > - 'py-buildbot-pkg' => 'py3-buildbot-pkg', > - 'py-buildbot-grid-view' => 'py3-buildbot-grid-view', > - 'py-buildbot-console-view' => 'py3-buildbot-console-view', > - 'py-buildbot-waterfall-view' => 'py3-buildbot-waterfall-view', > - 'py-buildslave' => 'buildbot-worker', > - 'sdlmame' => 'mame', > - 'sdlmame-tools' => 'mame', > - 'sdlmess' => 'mame', > - 'suricata-update' => 'suricata', > -# 6.5 > - 'ValyriaTear' => 'valyriatear', > - 'apertium-es-ast_NO-PN' => 'apertium-es-ast', > - 'py-pafy' => 'py3-pafy', > - 'py-libmagic' => 'py-magic', > - 'py3-libmagic' => 'py3-magic', > - 'pecl-chroot' => 'pecl71-chroot', > - 'pecl-geoip' => 'pecl71-geoip', > - 'pecl-http' => 'pecl71-pecl_http', > - 'pecl-imagick' => 'pecl71-imagick', > - 'pecl-libsodium' => 'pecl71-libsodium', > - 'pecl-lzf' => 'pecl71-lzf', > - 'pecl-mailparse' => 'pecl71-mailparse', > - 'pecl-memcached' => 'pecl71-memcached', > - 'pecl-proctitle' => 'pecl71-proctitle', > - 'pecl-propro' => 'pecl71-propro', > - 'pecl-raphf' => 'pecl71-raphf', > - 'pecl-rar' => 'pecl71-rar', > - 'pecl-redis' => 'pecl71-redis', > - 'pecl-ssh2' => 'pecl71-ssh2', > - 'pecl56-chroot' => 'pecl71-chroot', > - 'pecl56-geoip' => 'pecl71-geoip', > - 'pecl56-http' => 'pecl71-pecl_http', > - 'pecl56-imagick' => 'pecl71-imagick', > - 'pecl56-libsodium' => 'pecl71-libsodium', > - 'pecl56-lzf' => 'pecl71-lzf', > - 'pecl56-mailparse' => 'pecl71-mailparse', > - 'pecl56-memcached' => 'pecl71-memcached', > - 'pecl56-proctitle' => 'pecl71-proctitle', > - 'pecl56-propro' => 'pecl71-propro', > - 'pecl56-raphf' => 'pecl71-raphf', > - 'pecl56-rar' => 'pecl71-rar', > - 'pecl56-redis' => 'pecl71-redis', > - 'pecl56-ssh2' => 'pecl71-ssh2', > - 'pecl70-chroot' => 'pecl71-chroot', > - 'pecl70-geoip' => 'pecl71-geoip', > - 'pecl70-http' => 'pecl71-pecl_http', > - 'pecl70-imagick' => 'pecl71-imagick', > - 'pecl70-libsodium' => 'pecl71-libsodium', > - 'pecl70-lzf' => 'pecl71-lzf', > - 'pecl70-mailparse' => 'pecl71-mailparse', > - 'pecl70-memcached' => 'pecl71-memcached', > - 'pecl70-proctitle' => 'pecl71-proctitle', > - 'pecl70-propro' => 'pecl71-propro', > - 'pecl70-raphf' => 'pecl71-raphf', > - 'pecl70-rar' => 'pecl71-rar', > - 'pecl70-redis' => 'pecl71-redis', > - 'pecl70-ssh2' => 'pecl71-ssh2', > - 'zh-bg5ps' => 'bg5ps', > - 'zh-bg5pdf' => 'bg5pdf', > - 'wxWidgets-gtk2' => 'wxWidgets-gtk3', > - 'atf-allwinner' => 'arm-trusted-firmware', > - 'u-boot-pinebook' => 'u-boot-aarch64', > - 'suricata-update' => 'suricata', > - 'wireshark-gtk' => 'wireshark', > - 'py-zeroconf' => 'py3-zeroconf', > - 'digikam' => 'digikam-kde4', > - 'apertium-sv-da' => 'apertium-swe-dan', > -# 6.6 > - 'Xonotic' => 'xonotic', > - 'Xonotic-data' => 'xonotic-data', > - 'Xonotic-server' => 'xonotic-server', > - 'gettext' => 'gettext-runtime', > - 'kwebapp' => 'openradtool', > - 'py-xmldiff' => 'py3-xmldiff', > - 'bro' => 'zeek', > - 'filter-rspamd' => 'opensmtpd-filter-rspamd', > - 'filter-senderscore' => 'opensmtpd-filter-senderscore', > - 'ilmbase' => 'OpenEXR', > - 'openexr-viewers' => 'OpenEXR-tools', > - 'libvirt-python' => 'py-libvirt', > -# 6.7 > - 'py-jaraco-functoolsjaraco.functools' => 'py-jaraco-functools', > - 'py3-jaraco-functoolsjaraco.functools' => 'py3-jaraco-functools', > - 'py-netmiko' => 'py3-netmiko', > - 'py-napalm' => 'py3-napalm', > - 'py-IOSXR' => 'py3-IOSXR', > - 'py-cligj' => 'py3-cligj', > - 'py-fiona' => 'py3-fiona', > - 'py-laspy' => 'py3-laspy', > - 'py-owslib' => 'py3-owslib', > - 'py-proj' => 'py3-proj', > - 'py-planet' => 'py3-planet', > - 'py-rasterio' => 'py3-rasterio', > - 'py-rio-cogeo' => 'py3-rio-cogeo', > - 'py-shapely' => 'py3-shapely', > - 'py-terminado' => 'py3-terminado', > - 'py-prometheus_client' => 'py3-prometheus_client', > - 'py-influxdb' => 'py3-influxdb', > - 'py-pandas' => 'py3-pandas', > - 'py-siphon' => 'py3-siphon', > - 'py-mlpack' => 'py3-mlpack', > - 'py-bottleneck' => 'py3-bottleneck', > - 'py-daemon' => 'py3-daemon', > - 'py-nbval' => 'py3-nbval', > - 'py-oauthlib' => 'py3-oauthlib', > - 'py-requests-oauthlib' => 'py3-requests-oauthlib', > - 'py-discogs-client' => 'py3-discogs-client', > - 'py-semver' => 'py3-semver', > - 'py-seaborn' => 'py3-seaborn', > - 'py-natsort' => 'py3-natsort', > - 'py-mastodon.py' => 'py3-mastodon.py', > - 'py-bokeh' => 'py3-bokeh', > - 'py-algorithm-munkres' => 'py3-algorithm-munkres', > - 'py-pdfminer' => 'py3-pdfminer', > - 'jupyter-notebook3' => 'jupyter-notebook', > - 'py-html2text' => 'py3-html2text', > - 'py-acme' => 'py3-acme', > - 'py-josepy' => 'py3-josepy', > - 'py-spyder-kernels' => 'py3-spyder-kernels', > - 'spyder' => 'spyder3', > - 'py-qtconsole' => 'py3-qtconsole', > - 'py-sympy' => 'py3-sympy', > - 'py-wurlitzer' => 'py3-wurlitzer', > - 'py-gunicorn' => 'py3-gunicorn', > - 'py-multidict' => 'py3-multidict', > - 'py-elasticsearch' => 'py3-elasticsearch', > - 'py-vmomi' => 'py3-vmomi', > - 'py-nbconvert' => 'py3-nbconvert', > - 'py-smbc' => 'py3-smbc', > - 'py-git2' => 'py3-git2', > - 'py-bencode' => 'py3-bencode', > - 'py-dfwinreg' => 'py3-dfwinreg', > - 'py-dfvfs' => 'py3-dfvfs', > - 'py-dfdatetime' => 'py3-dfdatetime', > - 'py-artifacts' => 'py3-artifacts', > - 'py-rope' => 'py3-rope', > - 'py-xlrd' => 'py3-xlrd', > - 'ipython' => 'ipython3', > - 'py-ipykernel' => 'py3-ipykernel', > - 'py-jupyter_client' => 'py3-jupyter_client', > - 'py-jupyter_core' => 'py3-jupyter_core', > - 'py-nbformat' => 'py3-nbformat', > - 'py-traitlets' => 'py3-traitlets', > - 'py-parso' => 'py3-parso', > - 'py-jedi' => 'py3-jedi', > - 'py-botocore' => 'py3-botocore', > - 'py-boto3' => 'py3-boto3', > - 'py-s3transfer' => 'py3-s3transfer', > - 'py-libpst' => 'py3-libpst', > - 'Clementine' => 'clementine', > - 'py-curtsies' => 'py3-curtsies', > - 'bpython3' => 'bpython', > - 'py-prompt_toolkit' => 'py3-prompt_toolkit', > - 'py-wcwidth' => 'py3-wcwidth', > - 'py-twitter' => 'py3-twitter', > - 'py-irclib' => 'py3-irclib', > - 'py-casttube' => 'py3-casttube', > - 'py-libcloud' => 'py3-libcloud', > - 'gegl03' => 'gegl04', > - 'py-mysql' => 'py-mysqlclient', > -# 6.8 > - 'py-dulwich' => 'py3-dulwich', > - 'py-cups' => 'py3-cups', > - 'py-fastimport' => 'py3-fastimport', > - 'py-impacket' => 'py3-impacket', > - 'py-pynetbox' => 'py3-pynetbox', > - 'py-libvirt' => 'py3-libvirt', > - 'py-libxml' => 'py3-libxml', > - 'py-rsa' => 'py3-rsa', > - 'py-unicorn' => 'py3-unicorn', > - 'prison' => 'prison-kf5', > - 'kdegraphics-mobipocket' => 'kdegraphics-mobipocket-kf5', > - 'kdegraphics-thumbnailers' => 'kdegraphics-thumbnailers-kf5', > - 'svgpart' => 'svgpart-kf5', > - 'kdenetwork-filesharing' => 'kdenetwork-filesharing-kf5', > - 'py-cloudpickle' => 'py3-cloudpickle', > - 'py-podcastparser' => 'py3-podcastparser', > - 'py-configargparse' => 'py3-configargparse', > - 'py-aiodns' => 'py3-aiodns', > - 'ebc' => 'bc-gh', > - 'py-cares' => 'py3-cares', > - 'py-astroid' => 'py3-astroid', > - 'pylint' => 'pylint3', > - 'pylint-gui' => 'pylint3-gui', > - 'py-M2Crypto' => 'py3-M2Crypto', > - 'sslscan-openssl' => 'sslscan', > - 'py-rarfile' => 'py3-rarfile', > - 'py-pygfm' => 'py3-pygfm', > - 'py-humanize' => 'py3-humanize', > - 'py-sabyenc' => 'py3-sabyenc', > - 'py-cftime' => 'py3-cftime', > - 'py-astral' => 'py3-astral', > - 'py-ropper' => 'py3-ropper', > - 'py-snuggs' => 'py3-snuggs', > - 'py-osqp' => 'py3-osqp', > - 'py-ecos' => 'py3-ecos', > - 'py-numexpr' => 'py3-numexpr', > - 'py-notmuch' => 'py3-notmuch', > - 'py-webpy' => 'py3-webpy', > - 'phonon-qt5' => 'phonon', > - 'phonon-qt5-gstreamer' => 'phonon-backend-gstreamer', > - 'phonon-qt5-vlc' => 'phonon-backend-vlc', > - 'phonon-gstreamer-icons' => 'phonon-backend-gstreamer', > - 'iosevka-fonts-default' => 'iosevka', > - 'iosevka-fonts-term' => 'iosevka', > - 'py-distutils-extra' => 'py3-distutils-extra', > - 'uqm-remix1' => 'uqm-remix', > - 'uqm-remix2' => 'uqm-remix', > - 'uqm-remix3' => 'uqm-remix', > - 'uqm-remix4' => 'uqm-remix', > - 'py-responses' => 'py3-responses', > - 'py-pudb' => 'py3-pudb', > - 'py-keyring' => 'py3-keyring', > - 'py-secretstorage' => 'py3-secretstorage', > - 'rgain' => 'rgain3', > - 'py-urwid' => 'py3-urwid', > - 'py-ply' => 'py3-ply', > - 'py-dtfabric' => 'py3-dtfabric', > # 6.9 > 'py-qscintilla' => 'py3-qscintilla', > 'py-gobject3' => 'py3-gobject3', > @@ -858,561 +610,6 @@ sub setup_obsolete_reason > # want to put regexps as well in there (see the terraform or hs entries > # for instance) > setup_obsolete_reason( > -# 6.3 > - 5 => 'puppet-dashboard', > - 3 => 'dnsfilter', > - 6 => 'empathy', > - 3 => 'telepathy-salut', > - 3 => 'telepthy-haze', > - 3 => 'telepathy-gabble', > - 3 => 'telepathy-qt', > - 3 => 'telepathy-farstream', > - 3 => 'farstream', > - 5 => 'ardour', > - 5 => 'aubio', > - 5 => 'libgnomecanvasmm', > - 2 => 'mixmaster', > - 0 => 'xscorch', > - 5 => 'libwbxml', > - 6 => 'haskell-platform', > - 0 => 'gnokii', > - 5 => 'dee', > - 6 => 'pidgin-tlen', > - 5 => 'pep8', > - 6 => 'gnuvd', > - 5 => 'gtkhtml4', > - 6 => 'livestreamer-curses', > - 6 => 'xdmchoose', > - 0 => 'vomit', > - 6 => 'p5-WWW-YouTube-Download', > - 6 => 'oggtag', > - 6 => 'aimsniff', > - 6 => 'pork', > - 3 => 'ntimed', > - 2 => 'man2web', > - 6 => 'decss', > - 6 => 'libgcal', > - 6 => 'akonadi-googledata', > - 3 => 'arora', > - 6 => 'powerdns-ldap', > - 6 => 'p5-Net-LDNS', > - 0 => 'sirc', > - 6 => 'hgview', > - 5 => 'xerces', > -# 6.4 > - 2 => 'mozjs17', > - 3 => 'qvwm', > - 3 => 'prepop', > - 3 => 'centerim', > - 3 => 'gpgmepp', > - 0 => 'xnc', > - 3 => 'nepenthes', > - 6 => 'mongrel2', > - 6 => 'ja-groff', > - 3 => 'gtkglextmm', > - 3 => 'goocanvas', > - 6 => 'osm2go', > - 6 => 'kedpm', > - 3 => 'mediatomb', > - 6 => 'apache-couchdb', > - 6 => 'py-couchdb', > - 3 => 'chive', > - 3 => 'opengroupware', > - 3 => 'git-bz', > - 3 => 'hot-babe', > - 0 => 'wmgrabimage', > - 0 => 'wmphoto', > - 0 => 'wmminichess', > - 0 => 'wmifinfo', > - 0 => 'wmnet', > - 0 => 'wmwave', > - 0 => 'wmcb', > - 0 => 'wmpinboard', > - 0 => 'wmbiff', > - 0 => 'wmmail', > - 0 => 'wmtimer', > - 3 => 'py-crypto', > - 3 => 'py3-crypto', > - 5 => 'tremor', > - 5 => 'tremor-tools', > - 2 => 'webkit', > - 5 => 'py-test-capturelog', > - 5 => 'py3-test-capturelog', > - 3 => 'snapdl', > - 6 => 'ccnet', > - 10 => 'dkim-milter', > - 11 => 'aircontrol', > - 3 => 'corebird', > - 5 => 'py-pcs', > - 5 => 'ifmcstat', > - 6 => 'suricata-update', > -# 6.5 > - 5 => 'py-dtopt', > - 5 => 'py3-dtopt', > - 0 => 'memtest86+', > - 5 => 'py-reat', > - 12 => 'dovecot-antispam', > - 3 => 'py-hgtools', > - 3 => 'py3-hgtools', > - 3 => 'py-hgsubversion', > - 5 => 'py-hgnested', > - 6 => 'py-keyczar', > - 5 => 'py-hg-git', > - 3 => 'py-czmq', > - 13 => 'p5-Math-Pari', > - 13 => 'p5-Math-BigInt-Pari', > - 13 => 'p5-Crypt-Random', > - 13 => 'p5-Crypt-DH', > - 13 => 'p5-Crypt-Primes', > - 13 => 'p5-Crypt-RSA', > - 0 => 'directoryassistant', > - 3 => 'x-pack', > - 5 => 'libepc', > - 0 => 'dysnomia-en', > - 3 => 'casperjs', > - 3 => 'phantomjs', > - 6 => 'owncloud', > - 13 => 'php-librdf', > - 13 => 'nedi', > - 13 => 'xcache', > - 13 => 'pecl-memcache', > - 13 => 'pecl56-memcache', > - 13 => 'pecl-swish', > - 13 => 'pecl56-swish', > - 13 => 'pecl-uploadprogress', > - 13 => 'pecl56-uploadprogress', > - 3 => 'sickbeard', > - 2 => 'nxssh', > - 3 => 'opennx', > - 3 => 'iaxcomm', > - 0 => 'pinot', > - 0 => 'gaia', > - 0 => 'openafs', > - 3 => 'emerillon', > - 5 => 'mplex', > - 0 => 'gromit', > - 3 => 'discwrapper', > - 6 => 'libhttpseverywhere', > - 3 => 'poppler-qt4', > - 3 => 'ushare', > - 6 => 'ffmpeg2theora', > - 3 => 'p5-WWW-Google-SiteMap', > - 3 => 'p5-YAML-Perl', > - 5 => 'py-nevow', > - 3 => 'gupnp-ui', > - 6 => 'suricata-update', > - 1 => 'exploitdb-papers', > - 3 => 'nautilus-sendto', > - 2 => 'ghostview', > - 7 => 'libcudf', > - 7 => 'ocaml-cudf', > - 7 => 'ocaml-cmdliner', > - 7 => 'ocaml-dose', > - 7 => 'ocaml-extlib', > - 7 => 'ocaml-jsonm', > - 7 => 'ocaml-re', > - 7 => 'omake', > - 7 => 'ounit', > - 5 => 'obc', > - 3 => 'mlbviewer', > - 3 => 'upsd', > - 0 => 'vagalume', > - 7 => 'ocaml-uutf', > - 3 => 'xbat', > - 3 => 'xripple', > - 3 => 'sliderule', > - 3 => 'swisswatch', > - 3 => 'xaniroc', > - 3 => 'xmascot', > - 3 => 'xmold', > - 3 => 'xsnow', > - 3 => 'xtattr', > - 1 => 'ruby25-akami', > - 1 => 'ruby25-gyoku', > - 1 => 'ruby25-httpclient', > - 1 => 'ruby25-httpi', > - 1 => 'ruby25-nori', > - 1 => 'ruby25-savon', > - 1 => 'ruby25-sonos', > - 1 => 'ruby25-wasabi', > - 6 => 'linuxdoc', > - 3 => 'luna', > - 3 => 'rsynth', > - 3 => 'agm', > - 3 => 'connect4', > - 3 => 'xchomp', > - 3 => 'xdeblock', > - 3 => 'xzip', > - 3 => 'jive', > - 3 => 'compface', > - 3 => 'mirror', > - 3 => 'dclock', > - 3 => 'xfishtank', > - 6 => 'mpeg_play', > -# 6.6 > - 5 => 'py-async', > - 5 => 'py3-async', > - 5 => 'py3-funcsigs', > - 1 => 'rust-doc', > - 6 => 'glib-openssl', > - 5 => 'gcj', > - 5 => 'classpath', > - 5 => 'jamvm', > - 3 => 'gnome-code-assistance', > - 3 => 'gedit-code-assistance', > - 5 => 'py3-backports-abc', > - 0 => 'libkgeomap', > - 1 => 'piwik', > - 5 => 'wml', > - 1 => 'junit', > - 6 => 'jeoip', > - 0 => 'gnaughty', > - 5 => 'mysql++', > - 3 => 'mysqlcc', > - 6 => 'relayd-updateconf', > - 1 => 'java-getopt', > - 5 => 'avidemux', > - 5 => 'OGIlexicon', > - 5 => 'festival', > - 5 => 'festlex_CMU', > - 5 => 'festlex_OALD', > - 5 => 'festlex_POSLEX', > - 5 => 'festvox_cmu_us_awb_arctic_hts', > - 5 => 'festvox_cmu_us_bdl_arctic_hts', > - 5 => 'festvox_cmu_us_jmk_arctic_hts', > - 5 => 'festvox_cmu_us_slt_arctic_hts', > - 5 => 'festvox_cstr_us_awb_arctic_multisyn', > - 5 => 'festvox_cstr_us_jmk_arctic_multisyn', > - 5 => 'festvox_don', > - 5 => 'festvox_ellpc11k', > - 5 => 'festvox_kallpc16k', > - 5 => 'festvox_kedlpc16k', > - 5 => 'festvox_rablpc16k', > - 5 => 'voice_aec_di', > - 5 => 'voice_jph_di', > - 5 => 'voice_mwm_di', > - 5 => 'voice_tll_di', > - 3 => 'proxy-suite', > - 6 => 'py-amf', > - 3 => 'lam', > - 6 => 'gxml', > - 3 => 'nulib', > - 3 => 'py-turbocheetah', > - 3 => 'py-turbokid', > - 3 => 'py-addons', > - 3 => 'py-peak-rules', > - 3 => 'py-prioritized_methods', > - 3 => 'py-extremes', > - 3 => 'py-kid', > - 3 => 'py-Chart', > - 3 => 'py-id3', > - 3 => 'py-tagger', > - 3 => 'py-zhCodecs', > - 3 => 'py-iconvcodec', > - 3 => 'py-cjkcodecs', > - 3 => 'py-cdb', > - 3 => 'py-pgsql', > - 3 => 'pgworksheet', > - 3 => 'py-HappyDoc', > - 3 => 'py-Rijndael', > - 3 => 'py-adns', > - 3 => 'py-cherrypy2', > - 3 => 'py-clientform', > - 3 => 'py-crack', > - 3 => 'py-cryptkit', > - 3 => 'py-epydoc', > - 3 => 'py-flowd', > - 3 => 'py-flowtools', > - 3 => 'py-gnuplot', > - 3 => 'py-htmltmpl', > - 3 => 'py-jaxml', > - 3 => 'py-kiwi', > - 3 => 'py-medusa', > - 3 => 'py-monthdelta', > - 3 => 'py-optik', > - 3 => 'py-osd', > - 3 => 'py-probstat', > - 3 => 'py-protocols', > - 3 => 'py-rtf', > - 3 => 'py-ruledispatch', > - 3 => 'py-silc', > - 3 => 'py-tpg', > - 3 => 'py-unit', > - 3 => 'pybugz', > - 3 => 'pymissile', > - 6 => 'arm-elf-binutils', > - 6 => 'arm-elf-gcc', > - 6 => 'arm-elf-gdb', > - 6 => 'arm-elf-newlib', > - 5 => 'g77', > - 5 => 'libf2c', > - 3 => 'p5-WWW-Curl', > - 5 => 'java-tanukiwraper', > - 6 => 'opencv-docs', > - 6 => 'p5-Device-USB', > - 0 => 'p5-Crypt-GpgME', > - 6 => 'p5-HTTP-BrowserDetect', > -# 6.7 > - 3 => 'awless', > - 3 => 'mousetweaks', > - 6 => 'py-ioflo', > - 6 => 'py3-ioflo', > - 5 => 'postgresql-plv8', > - 6 => 'py-GeoIP', > - 3 => 'cvsync', > - 6 => 'pecl-geoip', > - 5 => 'clive', > - 6 => 'aws-shell', > - 5 => 'aqsis', > - 3 => 'gtk-xfce-engine', > - 0 => 'firewalk', > - 5 => 'goffice08', > - 3 => 'py-webdav', > - 6 => 'yabause', > - 5 => 'py-elementtidy', > - 5 => 'py-gd', > - 5 => 'py-oauth2', > - 6 => 'afm', > - 6 => 'p5-Geo-IP', > - 3 => 'py-libnacl', > - 5 => 'py3-typing', > - 3 => 'p5-Net-IRC', > - 0 => 'pangox-compat', > - 5 => 'tmake', > - 5 => 'qt3-sqlite3', > - 5 => 'eigen', > - 5 => 'eigen2', > - 5 => 'qt-gstreamer', > - 3 => 'qsynergy', > - 5 => 'kqoauth', > - 3 => 'valknut', > - 3 => 'dclib', > - 3 => 'luma', > - 3 => 'qhacc', > - 17 => 'nginx-geoip', > - 3 => 'qgo', > - 3 => 'qrfcview', > - 3 => 'mutella', > - 5 => 'erl-bcrypt', > - 5 => 'erl-mochiweb', > - 5 => 'rebar18', > - 5 => 'rebar17', > - 3 => 'bouml', > - 3 => 'beediff', > - 3 => 'php-mcrypt', > - 3 => 'sqliteman', > - 3 => 'entomologist', > - 6 => 'fcitx-qt4', > - 3 => 'partiwm', > - 2 => 'ejabberd', > - 5 => 'rebar16', > - 5 => 'tortoisehg', > - 3 => 'cjc', > - 3 => 'spectrum', > - 3 => 'py-xmpp', > - 0 => 'mirage', > - 0 => 'rpm', > - 3 => 'oggconvert', > - 3 => 'radiotray', > - 0 => 'xevil', > - 3 => 'py-vatnumber', > - 6 => 'nap', > - 5 => 'qucs', > - 1 => 'py-chai', > - 1 => 'py3-chai', > - 1 => 'py-whichcraft', > - 1 => 'py3-whichcraft', > - 20 => 'celt07', > - 1 => qr{^terraform-provider-}, > - 6 => 'radare2-bindings', > - 1 => 'py3-django', > - 1 => 'py3-django-lts', > - 3 => 'dspam', > - 3 => 'dspam-mysql', > - 3 => 'dspam-pgsql', > - 5 => 'py-iniparse', > - 3 => 'qt5-declarative-xmllistmodel', > - 3 => 'jabberd', > - 22 => 'GeoIP', > - 2 => 'akpop3d', > - 6 => 'gtk+4-cloudprint', > - 21 => qr{^drupal}, > -# 6.8 > - 3 => 'planner', > - 3 => 'gnome-recipes', > - 6 => 'shared-color-targets', > - 6 => 'argyll', > - 23 => 'libnipper', > - 23 => 'nipper', > - 13 => 'bg5pdf', > - 23 => 'pdflib', > - 3 => 'pop3gwd', > - 3 => 'tircd', > - 6 => 'gtksourceviewmm3', > - 3 => 'hpodder', > - 5 => 'py-gstreamer', > - 3 => 'py-libxslt', > - 3 => 'gconf-editor', > - 3 => 'amide', > - 3 => 'xmedcon', > - 3 => 'gq', > - 3 => 'gnome-doc-utils', > - 3 => 'rarian', > - 3 => 'qtcanvas3d', > - 3 => 'qtcanvas3d-examples', > - 3 => 'gtkparasite', > - 3 => 'gutenpy', > - 3 => 'klogic', > - 3 => 'soprano', > - 3 => 'automoc', > - 3 => 'qimageblitz', > - 3 => 'cagibi', > - 3 => 'libkvkontakte', > - 3 => 'libkfbapi', > - 3 => 'libkgapi', > - 3 => 'attica', > - 3 => 'kwebkitpart', > - 3 => 'grantlee', > - 3 => 'libkscreen', > - 3 => 'polkit-qt', > - 3 => 'phonon-gstreamer', > - 3 => 'phonon-gstreamer-icons', > - 3 => 'phonon-vlc', > - 3 => 'kde4-minimal', > - 3 => 'kde4', > - 3 => 'kde4-extras', > - 3 => 'kdeadmin', > - 3 => 'kdegames', > - 3 => 'kdenetwork', > - 3 => 'kdesdk', > - 3 => 'kdetoys', > - 3 => 'kdeadmin', > - 3 => 'kdegames', > - 3 => 'kdenetwork', > - 3 => 'kdesdk', > - 3 => 'kdetoys', > - 3 => qr{^kde-l10n-}, > - 3 => 'amor', > - 3 => 'audiocd-kio', > - 3 => 'baloo-widgets', > - 3 => 'ffmpegthumbs', > - 3 => 'jovie', > - 3 => 'kaccessible', > - 3 => 'kactivities', > - 3 => 'kde-base-artwork', > - 3 => 'kde-emoticons', > - 3 => 'kde-runtime', > - 3 => 'kde-shared-data', > - 3 => 'kde-wallpapers', > - 3 => 'kde-workspace', > - 3 => 'kde4-kopete-sounds', > - 3 => 'kde4-langlist', > - 3 => 'kde4-locale', > - 3 => 'kde4-locale-en_US', > - 3 => 'kdegraphics-strigi-analyzer', > - 3 => 'kdelibs', > - 3 => 'kdenetwork', > - 3 => 'kdenetwork-strigi-analyzers', > - 3 => 'kdepim', > - 3 => 'kdepim-runtime', > - 3 => 'kdepimlibs', > - 3 => 'kdeplasma-addons', > - 3 => 'kdesdk-strigi-analyzers', > - 3 => 'kdewebdev', > - 3 => 'kfilemetadata', > - 3 => 'kgpg', > - 3 => 'kimono', > - 3 => 'kopete', > - 3 => 'korundum', > - 3 => 'kpat', > - 3 => 'kppp', > - 3 => 'kremotecontrol', > - 3 => 'kross-java', > - 3 => 'kscd', > - 3 => 'ktux', > - 3 => 'kuser', > - 3 => 'libkcddb', > - 3 => 'libkcompactdisc', > - 3 => 'libkdeedu', > - 3 => 'libkdegames', > - 3 => 'libkexiv2', > - 3 => 'mplayerthumbs', > - 3 => 'nepomuk-core', > - 3 => 'nepomuk-widgets', > - 3 => 'p5-kde', > - 3 => 'p5-qt', > - 3 => 'pairs', > - 3 => 'parley', > - 3 => 'py-kde', > - 3 => 'qyoto', > - 3 => 'ruby26-qt4', > - 3 => 'smokegen', > - 3 => 'smokekde', > - 3 => 'smokeqt', > - 3 => 'superkaramba', > - 3 => 'gbirthday', > - 4 => 'wireguard-go', > - 4 => 'wiresep', > - 4 => 'wireless', > - 6 => 'sisctrl', > - 0 => 'vteplugin', > - 5 => 'p5-Net-GPSD', > - 0 => 'mozplugger', > - 3 => 'ajaxterm', > - 1 => 'uim-kde', > - 1 => 'uim-qt', > - 1 => 'uim-qt4', > - 5 => 'dbusmenu-qt', > - 3 => 'qlandkartegt', > - 3 => 'qca', > - 3 => 'qca-gnupg', > - 3 => 'qca-ossl', > - 26 => 'keepassx', > - 7 => 'go-xlsx', > - 7 => 'go-check-v1', > - 6 => 'freemat', > - 6 => 'scim-qtimm', > - 6 => 'gambatte-qt', > - 3 => 'liblxqt-l10n', > - 3 => 'lxqt-about-l10n', > - 3 => 'lxqt-config-l10n', > - 3 => 'lxqt-notificationd-l10n', > - 3 => 'lxqt-openssh-askpass-l10n', > - 3 => 'lxqt-panel-l10n', > - 3 => 'lxqt-policykit-l10n', > - 3 => 'lxqt-powermanagement-l10n', > - 3 => 'lxqt-runner-l10n', > - 3 => 'lxqt-session-l10n', > - 3 => 'lxqt-sudo-l10n', > - 3 => 'lximage-l10n', > - 3 => 'compton-conf-l10n', > - 3 => 'obconf-l10n', > - 3 => 'libfm-qt-l10n', > - 3 => 'pavucontrol-qt-l10n', > - 3 => 'pcmanfm-qt-l10n', > - 3 => 'qtermwidget-l10n', > - 3 => 'qterminal-l10n', > - 6 => 'gmc4cc', > - 5 => 'py-sockjs-tornado', > - 5 => 'apache-activemq', > - 5 => 'libgda-ui', > - 6 => 'ocrfeeder', > - 5 => 'goocanvas2', > - 5 => 'py-termcolor', > - 5 => 'py3-termcolor', > - 3 => 'py-carddav', > - 5 => 'py-rdflib', > - 5 => 'py3-rdflib', > - 3 => 'fookebox', > - 5 => 'py-pylons', > - 5 => 'py-routes', > - 5 => 'py-weberror', > - 5 => 'py-webhelpers', > - 0 => 'hedgewars', > - 0 => 'lazarus', > - 13 => 'exaile', > - 3 => 'instead-launcher', > - 3 => qr{^(ruby(19|2[0-7]|30)-|^j?ruby-[^0-9])}, > # 6.9 > 3 => 'py-notify', > 3 => 'glimpse', > @@ -1487,31 +684,30 @@ setup_obsolete_reason( > 3 => 'py-qt4', > 3 => 'py-qt4-docs', > 29 => 'hitch', > - 30 => 'xtraceroute', > - 31 => 'py-vorbis', > - 31 => 'py-ogg', > - 32 => 'sattrack', > - 33 => 'sattrack', > - 34 => 'packit', > - 34 => 'nemesis', > + 3 => 'xtraceroute', > + 13 => 'py-vorbis', > + 13 => 'py-ogg', > + 3 => 'sattrack', > + 3 => 'packit', > + 3 => 'nemesis', > 6 => 'lxnb', > - 35 => 'siphon', > + 3 => 'siphon', > 6 => 'avinfo', > 0 => 'xfed', > 36 => 'www6to4', > - 37 => 'gimmix', > + 3 => 'gimmix', > 3 => 'xhippo', > 0 => 'hnb', > 38 => 'icinga', > 38 => 'icinga-web', > 38 => 'icinga-cgi', > 38 => 'icinga-idoutils', > - 39 => 'swftools', > - 39 => 'swfmill', > - 39 => 'ming', > - 39 => 'quvi', > - 39 => 'libquvi', > - 39 => 'libquvi-scripts', > + 3 => 'swftools', > + 3 => 'swfmill', > + 3 => 'ming', > + 3 => 'quvi', > + 3 => 'libquvi', > + 3 => 'libquvi-scripts', > 6 => 'cclive', > 4 => 'viz', > 40 => 'driftnet', > @@ -1520,9 +716,9 @@ setup_obsolete_reason( > 0 => 'xboing', > 3 => 'beaver', > 3 => 'tracnav', > - 39 => 'flasm', > - 31 => 'mpd-add-similar', > - 31 => 'py-mpd', > + 3 => 'flasm', > + 13 => 'mpd-add-similar', > + 13 => 'py-mpd', > 3 => 'abs', > 3 => 'arena', > 3 => 'teagtk', > @@ -1588,58 +784,58 @@ setup_obsolete_reason( > 6 => 'libvstr', > # 7.1 > 0 => 'cue', > - 31 => 'py-SOAPpy', > - 31 => 'py-ao', > - 31 => 'py-backports-abc', > - 31 => 'py-backports-functools-lru-cache', > - 31 => 'py-backports-lzma', > - 31 => 'py-backports-shutil-get-terminal-size', > - 31 => 'py-backports-ssl-match-hostname', > - 31 => 'py-binplist', > - 31 => 'py-bytecodeassembler', > - 31 => 'py-cddb', > - 31 => 'py-editdist', > - 31 => 'py-efilter', > - 31 => 'py-faulthandler', > - 31 => 'py-fpconst', > - 31 => 'py-functools32', > - 31 => 'py-gdata', > - 31 => 'py-guppy', > - 31 => 'py-hachoir-core', > - 31 => 'py-hachoir-metadata', > - 31 => 'py-hachoir-parser', > - 31 => 'py-jonpy', > - 31 => 'py-jsonrpclib', > - 31 => 'py-lzo', > - 31 => 'py-milter', > - 31 => 'py-monotonic', > - 31 => 'py-mox', > - 31 => 'py-mxDateTime', > - 31 => 'py-pdf', > - 31 => 'py-pyro', > - 31 => 'py-pysha3', > - 31 => 'py-python2-pythondialog', > - 31 => 'py-recaptcha-client', > - 31 => 'py-ruamel.ordereddict', > - 31 => 'py-singledispatch', > - 31 => 'py-storm', > - 31 => 'py-subprocess32', > - 31 => 'py-sybase', > - 31 => 'py-symboltype', > - 31 => 'py-xmlrunner', > - 31 => 'py-xmpppy', > - 31 => 'py-yenc', > - 31 => 'py-zsi', > + 13 => 'py-SOAPpy', > + 13 => 'py-ao', > + 13 => 'py-backports-abc', > + 13 => 'py-backports-functools-lru-cache', > + 13 => 'py-backports-lzma', > + 13 => 'py-backports-shutil-get-terminal-size', > + 13 => 'py-backports-ssl-match-hostname', > + 13 => 'py-binplist', > + 13 => 'py-bytecodeassembler', > + 13 => 'py-cddb', > + 13 => 'py-editdist', > + 13 => 'py-efilter', > + 13 => 'py-faulthandler', > + 13 => 'py-fpconst', > + 13 => 'py-functools32', > + 13 => 'py-gdata', > + 13 => 'py-guppy', > + 13 => 'py-hachoir-core', > + 13 => 'py-hachoir-metadata', > + 13 => 'py-hachoir-parser', > + 13 => 'py-jonpy', > + 13 => 'py-jsonrpclib', > + 13 => 'py-lzo', > + 13 => 'py-milter', > + 13 => 'py-monotonic', > + 13 => 'py-mox', > + 13 => 'py-mxDateTime', > + 13 => 'py-pdf', > + 13 => 'py-pyro', > + 13 => 'py-pysha3', > + 13 => 'py-python2-pythondialog', > + 13 => 'py-recaptcha-client', > + 13 => 'py-ruamel.ordereddict', > + 13 => 'py-singledispatch', > + 13 => 'py-storm', > + 13 => 'py-subprocess32', > + 13 => 'py-sybase', > + 13 => 'py-symboltype', > + 13 => 'py-xmlrunner', > + 13 => 'py-xmpppy', > + 13 => 'py-yenc', > + 13 => 'py-zsi', > 8 => 'tilecache', > - 31 => 'py-configparser', > - 31 => 'py-decoratortools', > - 31 => 'py-paste', > - 31 => 'py-paste-deploy', > - 31 => 'py-paste-script', > - 31 => 'py-selectors2', > - 31 => 'py-wsgiutils', > - 31 => 'py-xml', > - 31 => 'py-backports', > + 13 => 'py-configparser', > + 13 => 'py-decoratortools', > + 13 => 'py-paste', > + 13 => 'py-paste-deploy', > + 13 => 'py-paste-script', > + 13 => 'py-selectors2', > + 13 => 'py-wsgiutils', > + 13 => 'py-xml', > + 13 => 'py-backports', > 3 => 'ORBit2', > 3 => 'libbonobo', > 3 => 'libgnome', > @@ -1755,20 +951,20 @@ setup_obsolete_reason( > 5 => 'libdsm', > 45 => 'direvent', > 3 => 'climm', > - 31 => 'spe', > - 31 => 'py-Checker', > - 14 => 'ssvnc', > + 13 => 'spe', > + 13 => 'py-Checker', > + 3 => 'ssvnc', > 11 => 'netshot', > - 31 => 'py-contextlib2', > - 31 => 'py-linecache2', > - 31 => 'py-traceback2', > - 31 => 'py-unittest2', > - 31 => 'py-pathlib', > - 31 => 'py-pathlib2', > + 13 => 'py-contextlib2', > + 13 => 'py-linecache2', > + 13 => 'py-traceback2', > + 13 => 'py-unittest2', > + 13 => 'py-pathlib', > + 13 => 'py-pathlib2', > 6 => 'py3-pathlib', > 6 => 'py3-pathlib2', > - 31 => 'py-ipaddress', > - 31 => 'py-scandir', > + 13 => 'py-ipaddress', > + 13 => 'py-scandir', > 3 => 'd-feet', > # 7.2 > 3 => 'gnome-documents', > @@ -1777,10 +973,10 @@ setup_obsolete_reason( > 5 => 'gnats', > 3 => 'gnome-books', > 46 => 'go-bootstrap', > - 31 => 'py-typing', > + 13 => 'py-typing', > 6 => 'py-funcsigs', > 6 => 'py-statistics', > - 31 => 'pyrex', > + 13 => 'pyrex', > 3 => 'luasoldout', > 3 => 'honeyd', > 47 => 'totd', > @@ -1815,8 +1011,8 @@ setup_obsolete_reason( > 5 => 'xalan-j', > 5 => 'opencdk', > 5 => 'klaxon', > - 49 => 'sentinel', > - 50 => 'sslScanner', > + 3 => 'sentinel', > + 3 => 'sslScanner', > 5 => 'softhsm', > 1 => 'chntpw', > 5 => 'nbaudit', > @@ -1826,7 +1022,7 @@ setup_obsolete_reason( > 1 => 'samdump2', > 1 => 'smbsniff', > 0 => 'fragroute', > - 52 => 'ikeman', > + 3 => 'ikeman', > 3 => 'libperseus', > 0 => 'hatchet', > 51 => 'ctunnel', > @@ -1836,10 +1032,10 @@ setup_obsolete_reason( > 1 => 'stm32loader', > 3 => 'tmda', > 3 => 'spambayes', > - 31 => 'nmap-zenmap', > + 13 => 'nmap-zenmap', > 0 => 'uucpd', > 6 => 'py-sqlite2', > - 31 => 'py-ipaddr', > + 13 => 'py-ipaddr', > 3 => 'hlfl', > 6 => 'caribou', > 5 => 'riak', > @@ -1903,12 +1099,12 @@ setup_obsolete_reason( > # 7.5 > 56 => 'psi', > 56 => 'coccinella', > - 31 => 'py-snack', > + 13 => 'py-snack', > 5 => 'wxglade', > 57 => 'barony', > 58 => 'exa', > 6 => 'libgnomekbd', > - 59 => 'xmlrpc-c', > + 3 => 'xmlrpc-c', > 1 => 'pwntools', > 1 => 'floss', > 5 => 'py-enum34', > @@ -1921,15 +1117,15 @@ setup_obsolete_reason( > 3 => 'GAMMApage', > 3 => 'comix', > 3 => 'hwsensorsbeat', > - 60 => 'jailkit', > + 3 => 'jailkit', > 13 => 'p5-sybperl', > - 61 => 'xprobe2', > + 3 => 'xprobe2', > 3 => 'minbif', > 3 => 'atlas', > - 62 => 'dicepassc', > + 3 => 'dicepassc', > 5 => 'py-parsing', > 3 => 'freehdl', > - 63 => 'freetalk', > + 3 => 'freetalk', > 2 => 'trojita', > 5 => 'birdfont', > 5 => 'libxmlbird', > @@ -1938,7 +1134,7 @@ setup_obsolete_reason( > 3 => 'h2o', > 3 => 'smtube', > 65 => 'goldendict', > - 31 => 'mkplaylist', > + 13 => 'mkplaylist', > 1 => 'proteus', > 1 => qr{^tryton}, > # 7.6 > @@ -1954,7 +1150,7 @@ setup_obsolete_reason( > 66 => 'opensmtpd-extras-mysql', > 66 => 'opensmtpd-extras-pgsql', > 66 => 'opensmtpd-extras-redis', > - 31 => 'opensmtpd-extras-python', > + 13 => 'opensmtpd-extras-python', > 3 => 'pdf2djvu', > 3 => 'py3-fsb5', > 3 => 'khotkeys', > @@ -2018,30 +1214,14 @@ my $obsolete_message = { > 7 => "removed in favor of using the language's package manager", > 8 => "no longer maintained upstream, consider mapproxy as an alternative", > 9 => "removed, needs a port maintainer", > - 10 => "has been replaced by opendkim", > 11 => "no longer packageable", > - 12 => "replace with IMAPSieve, see https://wiki.dovecot.org/HowTo/AntispamWithSieve", > 13 => "has a dependency on obsolete software", > - 14 => "no longer maintained upstream and has security issues, consider remmina or tigervnc's vncviewer as an alternative", > 15 => "use rspamd's internal milter support instead", > - 17 => "old GeoIP databases end-of-life, see alternative using geoip2/libmaxminddb", > - 20 => "merged into IETF Opus codec, obsolete, audio/mumble uses bundled version now", > - 21 => "upstream recommends to use composer to build a drupal site", > - 22 => "the original GeoIP database is end of life; use libmaxminddb/GeoIP2", > - 23 => "no longer maintained upstream, became commercial over ten years ago", > - 26 => "outdated Qt4 application", > 27 => "requires GUdev", > 28 => "consider migrating MCollective agents and filters using tools like Bolt and PuppetDB's Puppet Query Language", > 29 => "unmaintained port that was blocking other changes in ports", > - 30 => "crashes in many different ways at runtime, does not build with '-fno-common'", > - 31 => "python port without 3.x support, no other ports use it", > - 33 => "no longer maintained upstream, website suggests https://cronometer.com until rewrite is done", > - 34 => "upstream is dead, basic functionality does not work, use tcpdump(1) and scapy(1) instead", > - 35 => "upstream is dead, no longer useful, does not support IPv6", > 36 => "ancient software, use pf.conf(5) 'af-to'", > - 37 => "upstream is dead, default settings cause crash when connecting to mpd", > 38 => "icinga 1 is end-of-life, migrate to icinga 2 (needs config rewrite)", > - 39 => "Flash/SWF is end-of-life", > 40 => "ancient software that often crashes and relies on single HTTP (no TLS) connections, use wireshark", > 41 => "upstream moved to unversioned tarballs, use the plan9port (same upstream) package instead", > 43 => "using portgen instead is recommended", > @@ -2050,21 +1230,13 @@ my $obsolete_message = { > 46 => "moved to binary bootstraps", > 47 => "DNS network daemon running as root and not using random source ports. use DNS64 support in unbound or isc-bind", > 48 => "horrible ecosystem", > - 49 => "has no license, unmaintained since too long, crashes at runtime", > - 50 => "abandoned ten years ago, broken by default due to missing runtime dependencies, use security/sslscan", > 51 => "dead upstream, consider using socat or SSH", > - 52 => "unmaintained since import, already on LibreSSL life support for too long", > 53 => "upstream is dead, consider migrating to picom", > 54 => "dependencies for recent versions can't be met (dotnet), consider switching to steamctl", > 55 => "residualvm is dead upstream and has been merged into scummvm", > 56 => "outdated, fails to establish TLS connections/cannot login, use dino, mcabber, gajim or pidgin", > 57 => "frequent breakage with new versions, required openal audio backend has been orphaned for > 1 year", > 58 => "abandoned upstream, use eza as a drop-in replacement", > - 59 => "unmaintained/outdated for years, no consumers in over a decade, questionable security sensitive code", > - 60 => "unmaintained/outdated for years, setuid python 2 scripts, not recommended", > - 61 => "long dead upstream/unmaintained, fails to build with clang 16", > - 62 => "not maintained, upstream suggests using passphraseme or pwgen", > - 63 => "outdated, unmaintained, crashes on startup", > 64 => "dead upstream, crashes when showing the Syncthing web interface, use a browser", > 65 => "superseded by goldendict-ng", > 66 => "superseded by opensmtpd-table-*", > > I'm happy with this as well