Go to file
2024-10-30 07:41:51 -06:00
public remove dark mode 2022-12-23 07:31:26 -07:00
support add doas.conf, entry for app and update crontab to use it 2023-02-02 08:19:08 -07:00
.envrc initial 2022-09-23 16:45:55 -06:00
.gitignore 7.5 has been released \o/ 2024-04-05 09:14:13 -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 remove a few potential undefined situations 2024-10-30 07:41:51 -06:00
README.md README: fix openbsd run instructions 2024-04-15 08:47:11 -06:00
upgrade.sh update to openbsd 7.6 2024-10-08 08:34:48 -06: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

Currently OpenBSD is missing the p5-Mojo-SQLite package, so one will either have to make it themselves (portgen) or wait for it to be added to -current

$ 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.