No description
  • CSS 67.2%
  • Perl 25.4%
  • Shell 3.2%
  • mupad 2.3%
  • Nix 1.9%
Find a file
2026-01-22 08:08:36 -07:00
lib fmt and fix rns page to be 7.8 2025-12-27 08:36:36 -07:00
public remove dark mode 2022-12-23 07:31:26 -07:00
rns add lxmf addy 2026-01-22 08:08:36 -07:00
support Update readme as p5-Mojo-SQLite is in ports 2025-01-22 08:13:10 -07:00
.envrc initial 2022-09-23 16:45:55 -06:00
.gitignore ignore .vscode made by PLS 2025-09-01 11:03:32 -06:00
flake.lock flake.lock: Update 2024-02-05 09:50:43 -07:00
flake.nix fix cvs and github links to not include the flavor 2024-06-26 08:33:55 -06:00
LICENSE remove stray form 2022-09-23 17:00:32 -06:00
openbsd.app.pl autofocus on the search input 2026-01-21 11:59:43 -07:00
README.md Update readme as p5-Mojo-SQLite is in ports 2025-01-22 08:13:10 -07:00
upgrade.sh fix quoting 2025-12-27 08:40:26 -07:00

OpenBSD.app

A site that allows quick full-text searching of OpenBSD packages for -stable and -current.

Hacking

Generating FTS5 databases

$ sqlite3 stable.db
> ATTACH DATABASE '/usr/local/share/sqlports' AS ports;
> CREATE VIRTUAL TABLE
	    ports_fts
	USING fts5(
	    FULLPKGNAME,
	    FULLPKGPATH,
	    COMMENT,
	    DESCRIPTION);
> INSERT INTO
	    ports_fts
	(FULLPKGNAME, FULLPKGPATH, COMMENT, DESCRIPTION)
	SELECT
	    fullpkgname,
	    _paths.fullpkgpath,
	    comment,
	    _descr.value
	FROM
	    ports._ports
	JOIN _paths ON _paths.id=_ports.fullpkgpath
	JOIN _descr ON _descr.fullpkgpath=_ports.fullpkgpath;
> .quit

.. and the same for current.db using sqlports from -current.

Running on OpenBSD

$ doas pkg_add p5-Mojolicious p5-Text-Markdown p5-Mojo-SQLite sqlports
$ morbo openbsd.app.pl

Running with nix/NixOS

nix shell
morbo openbsd.app.pl

TODOs

  • use OpenBSD::Pledge / use OpenBSD::Unveil.
  • Automate building of the fts DBs.
    • Fetch $release sqlports and $current sqlports and create.
  • OpenSearch support.
  • Parse input to match Full-text Query Syntax: https://www.sqlite.org/fts5.html .
    • Only searching for letters for now.
  • Style.
  • Stable and unstable search.