0s autopkgtest [21:15:07]: starting date and time: 2024-06-27 21:15:07+0000 0s autopkgtest [21:15:07]: git checkout: 85adf9a1 setup-testbed: prevent /tmp from getting a tmpfs mount 0s autopkgtest [21:15:07]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.vurpg3_a/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:requests --apt-upgrade offpunk --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=requests/2.32.3+dfsg-1ubuntu1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-23.secgroup --name adt-oracular-arm64-offpunk-20240627-211507-juju-7f2275-prod-proposed-migration-environment-2-57353269-2fe5-496e-abe0-7e8899e794cd --image adt/ubuntu-oracular-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 243s autopkgtest [21:19:10]: testbed dpkg architecture: arm64 243s autopkgtest [21:19:10]: testbed apt version: 2.9.5 243s autopkgtest [21:19:10]: @@@@@@@@@@@@@@@@@@@@ test bed setup 244s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [110 kB] 245s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [7052 B] 245s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [49.4 kB] 245s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [382 kB] 246s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [2576 B] 246s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [78.1 kB] 246s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [32.5 kB] 246s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [366 kB] 246s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7928 B] 246s Fetched 1036 kB in 2s (588 kB/s) 246s Reading package lists... 249s Reading package lists... 250s Building dependency tree... 250s Reading state information... 250s Calculating upgrade... 251s The following packages will be upgraded: 251s binutils binutils-aarch64-linux-gnu binutils-common btrfs-progs cloud-init 251s e2fsprogs e2fsprogs-l10n libbinutils libcom-err2 libctf-nobfd0 libctf0 251s libext2fs2t64 libgprofng0 libsframe1 libss2 logsave lsb-release 251s openssh-client openssh-server openssh-sftp-server python3-requests 251s sensible-utils tmux vim-common vim-tiny xxd 251s 26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 251s Need to get 11.0 MB of archives. 251s After this operation, 135 kB of additional disk space will be used. 251s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 e2fsprogs-l10n all 1.47.1-1ubuntu1 [6798 B] 251s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 logsave arm64 1.47.1-1ubuntu1 [24.8 kB] 251s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 libext2fs2t64 arm64 1.47.1-1ubuntu1 [228 kB] 252s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 e2fsprogs arm64 1.47.1-1ubuntu1 [603 kB] 252s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 openssh-sftp-server arm64 1:9.6p1-3ubuntu14 [36.8 kB] 252s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 openssh-server arm64 1:9.6p1-3ubuntu14 [502 kB] 252s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 openssh-client arm64 1:9.6p1-3ubuntu14 [888 kB] 252s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libcom-err2 arm64 1.47.1-1ubuntu1 [25.1 kB] 252s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 libss2 arm64 1.47.1-1ubuntu1 [17.4 kB] 252s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 sensible-utils all 0.0.24 [24.8 kB] 252s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 lsb-release all 12.1-1 [5910 B] 252s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 vim-tiny arm64 2:9.1.0496-1ubuntu2 [781 kB] 252s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 vim-common all 2:9.1.0496-1ubuntu2 [387 kB] 252s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 xxd arm64 2:9.1.0496-1ubuntu2 [63.6 kB] 252s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 libgprofng0 arm64 2.42.50.20240625-1ubuntu1 [777 kB] 252s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 libctf0 arm64 2.42.50.20240625-1ubuntu1 [96.7 kB] 252s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libctf-nobfd0 arm64 2.42.50.20240625-1ubuntu1 [101 kB] 252s Get:18 http://ftpmaster.internal/ubuntu oracular/main arm64 binutils-aarch64-linux-gnu arm64 2.42.50.20240625-1ubuntu1 [3319 kB] 253s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 libbinutils arm64 2.42.50.20240625-1ubuntu1 [774 kB] 253s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 binutils arm64 2.42.50.20240625-1ubuntu1 [18.2 kB] 253s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 binutils-common arm64 2.42.50.20240625-1ubuntu1 [243 kB] 253s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 libsframe1 arm64 2.42.50.20240625-1ubuntu1 [14.4 kB] 253s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 btrfs-progs arm64 6.6.3-1.2 [958 kB] 253s Get:24 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-requests all 2.32.3+dfsg-1ubuntu1 [52.6 kB] 253s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 tmux arm64 3.4-7 [464 kB] 253s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 cloud-init all 24.2~5g8c396a4b-0ubuntu1 [599 kB] 255s Preconfiguring packages ... 255s Fetched 11.0 MB in 2s (5106 kB/s) 256s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78321 files and directories currently installed.) 256s Preparing to unpack .../e2fsprogs-l10n_1.47.1-1ubuntu1_all.deb ... 256s Unpacking e2fsprogs-l10n (1.47.1-1ubuntu1) over (1.47.0-2.4~exp1ubuntu4) ... 256s Preparing to unpack .../logsave_1.47.1-1ubuntu1_arm64.deb ... 256s Unpacking logsave (1.47.1-1ubuntu1) over (1.47.0-2.4~exp1ubuntu4) ... 257s Preparing to unpack .../libext2fs2t64_1.47.1-1ubuntu1_arm64.deb ... 257s Leaving 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2 to /lib/aarch64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64' 257s Leaving 'diversion of /lib/aarch64-linux-gnu/libe2p.so.2.3 to /lib/aarch64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64' 257s Leaving 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2 to /lib/aarch64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64' 257s Leaving 'diversion of /lib/aarch64-linux-gnu/libext2fs.so.2.4 to /lib/aarch64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' 257s Unpacking libext2fs2t64:arm64 (1.47.1-1ubuntu1) over (1.47.0-2.4~exp1ubuntu4) ... 258s Setting up libext2fs2t64:arm64 (1.47.1-1ubuntu1) ... 258s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78321 files and directories currently installed.) 258s Preparing to unpack .../00-e2fsprogs_1.47.1-1ubuntu1_arm64.deb ... 258s Unpacking e2fsprogs (1.47.1-1ubuntu1) over (1.47.0-2.4~exp1ubuntu4) ... 259s Preparing to unpack .../01-openssh-sftp-server_1%3a9.6p1-3ubuntu14_arm64.deb ... 259s Unpacking openssh-sftp-server (1:9.6p1-3ubuntu14) over (1:9.6p1-3ubuntu13) ... 260s Preparing to unpack .../02-openssh-server_1%3a9.6p1-3ubuntu14_arm64.deb ... 260s Unpacking openssh-server (1:9.6p1-3ubuntu14) over (1:9.6p1-3ubuntu13) ... 261s Preparing to unpack .../03-openssh-client_1%3a9.6p1-3ubuntu14_arm64.deb ... 261s Unpacking openssh-client (1:9.6p1-3ubuntu14) over (1:9.6p1-3ubuntu13) ... 262s Preparing to unpack .../04-libcom-err2_1.47.1-1ubuntu1_arm64.deb ... 262s Unpacking libcom-err2:arm64 (1.47.1-1ubuntu1) over (1.47.0-2.4~exp1ubuntu4) ... 262s Preparing to unpack .../05-libss2_1.47.1-1ubuntu1_arm64.deb ... 262s Unpacking libss2:arm64 (1.47.1-1ubuntu1) over (1.47.0-2.4~exp1ubuntu4) ... 262s Preparing to unpack .../06-sensible-utils_0.0.24_all.deb ... 262s Unpacking sensible-utils (0.0.24) over (0.0.23) ... 263s Preparing to unpack .../07-lsb-release_12.1-1_all.deb ... 263s Unpacking lsb-release (12.1-1) over (12.0-2) ... 264s Preparing to unpack .../08-vim-tiny_2%3a9.1.0496-1ubuntu2_arm64.deb ... 264s Unpacking vim-tiny (2:9.1.0496-1ubuntu2) over (2:9.1.0377-1ubuntu1) ... 264s Preparing to unpack .../09-vim-common_2%3a9.1.0496-1ubuntu2_all.deb ... 264s Unpacking vim-common (2:9.1.0496-1ubuntu2) over (2:9.1.0377-1ubuntu1) ... 264s Preparing to unpack .../10-xxd_2%3a9.1.0496-1ubuntu2_arm64.deb ... 264s Unpacking xxd (2:9.1.0496-1ubuntu2) over (2:9.1.0377-1ubuntu1) ... 264s Preparing to unpack .../11-libgprofng0_2.42.50.20240625-1ubuntu1_arm64.deb ... 264s Unpacking libgprofng0:arm64 (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 264s Preparing to unpack .../12-libctf0_2.42.50.20240625-1ubuntu1_arm64.deb ... 264s Unpacking libctf0:arm64 (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 265s Preparing to unpack .../13-libctf-nobfd0_2.42.50.20240625-1ubuntu1_arm64.deb ... 265s Unpacking libctf-nobfd0:arm64 (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 265s Preparing to unpack .../14-binutils-aarch64-linux-gnu_2.42.50.20240625-1ubuntu1_arm64.deb ... 265s Unpacking binutils-aarch64-linux-gnu (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 265s Preparing to unpack .../15-libbinutils_2.42.50.20240625-1ubuntu1_arm64.deb ... 265s Unpacking libbinutils:arm64 (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 265s Preparing to unpack .../16-binutils_2.42.50.20240625-1ubuntu1_arm64.deb ... 265s Unpacking binutils (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 265s Preparing to unpack .../17-binutils-common_2.42.50.20240625-1ubuntu1_arm64.deb ... 266s Unpacking binutils-common:arm64 (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 266s Preparing to unpack .../18-libsframe1_2.42.50.20240625-1ubuntu1_arm64.deb ... 266s Unpacking libsframe1:arm64 (2.42.50.20240625-1ubuntu1) over (2.42.50.20240618-1ubuntu1) ... 266s Preparing to unpack .../19-btrfs-progs_6.6.3-1.2_arm64.deb ... 266s Unpacking btrfs-progs (6.6.3-1.2) over (6.6.3-1.1build2) ... 266s Preparing to unpack .../20-python3-requests_2.32.3+dfsg-1ubuntu1_all.deb ... 266s Unpacking python3-requests (2.32.3+dfsg-1ubuntu1) over (2.31.0+dfsg-1ubuntu3) ... 267s Preparing to unpack .../21-tmux_3.4-7_arm64.deb ... 267s Unpacking tmux (3.4-7) over (3.4-6) ... 267s Preparing to unpack .../22-cloud-init_24.2~5g8c396a4b-0ubuntu1_all.deb ... 268s Unpacking cloud-init (24.2~5g8c396a4b-0ubuntu1) over (24.2~4g5f40426f-0ubuntu1) ... 268s Setting up openssh-client (1:9.6p1-3ubuntu14) ... 268s Setting up binutils-common:arm64 (2.42.50.20240625-1ubuntu1) ... 268s Setting up libctf-nobfd0:arm64 (2.42.50.20240625-1ubuntu1) ... 268s Setting up libcom-err2:arm64 (1.47.1-1ubuntu1) ... 268s Setting up xxd (2:9.1.0496-1ubuntu2) ... 268s Setting up libsframe1:arm64 (2.42.50.20240625-1ubuntu1) ... 268s Setting up vim-common (2:9.1.0496-1ubuntu2) ... 268s Setting up python3-requests (2.32.3+dfsg-1ubuntu1) ... 268s Setting up libss2:arm64 (1.47.1-1ubuntu1) ... 268s Setting up logsave (1.47.1-1ubuntu1) ... 268s Setting up sensible-utils (0.0.24) ... 268s Setting up libbinutils:arm64 (2.42.50.20240625-1ubuntu1) ... 268s Setting up lsb-release (12.1-1) ... 268s Setting up tmux (3.4-7) ... 268s Setting up libctf0:arm64 (2.42.50.20240625-1ubuntu1) ... 268s Setting up openssh-sftp-server (1:9.6p1-3ubuntu14) ... 268s Setting up cloud-init (24.2~5g8c396a4b-0ubuntu1) ... 268s 268s Configuration file '/etc/cloud/cloud.cfg' 268s ==> Modified (by you or by a script) since installation. 268s ==> Package distributor has shipped an updated version. 268s ==> Using new file as you requested. 268s Installing new version of config file /etc/cloud/cloud.cfg ... 270s Setting up openssh-server (1:9.6p1-3ubuntu14) ... 270s Replacing config file /etc/ssh/sshd_config with new version 273s Setting up btrfs-progs (6.6.3-1.2) ... 273s Setting up e2fsprogs (1.47.1-1ubuntu1) ... 273s Installing new version of config file /etc/cron.d/e2scrub_all ... 273s Installing new version of config file /etc/mke2fs.conf ... 273s update-initramfs: deferring update (trigger activated) 275s Setting up vim-tiny (2:9.1.0496-1ubuntu2) ... 275s Setting up libgprofng0:arm64 (2.42.50.20240625-1ubuntu1) ... 275s Setting up e2fsprogs-l10n (1.47.1-1ubuntu1) ... 275s Setting up binutils-aarch64-linux-gnu (2.42.50.20240625-1ubuntu1) ... 275s Setting up binutils (2.42.50.20240625-1ubuntu1) ... 275s Processing triggers for debianutils (5.19) ... 275s Processing triggers for initramfs-tools (0.142ubuntu28) ... 275s update-initramfs: Generating /boot/initrd.img-6.8.0-31-generic 275s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 379s System running in EFI mode, skipping. 379s Processing triggers for libc-bin (2.39-0ubuntu9) ... 379s Processing triggers for rsyslog (8.2312.0-3ubuntu9) ... 380s Processing triggers for ufw (0.36.2-6) ... 380s Processing triggers for man-db (2.12.1-2) ... 383s Reading package lists... 383s Building dependency tree... 383s Reading state information... 384s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 385s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 385s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 385s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 385s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 387s Reading package lists... 387s Reading package lists... 388s Building dependency tree... 388s Reading state information... 388s Calculating upgrade... 389s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 389s Reading package lists... 389s Building dependency tree... 389s Reading state information... 390s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 390s autopkgtest [21:21:37]: rebooting testbed after setup commands that affected boot 395s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 428s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 451s autopkgtest [21:22:38]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 457s autopkgtest [21:22:44]: @@@@@@@@@@@@@@@@@@@@ apt-source offpunk 462s Get:1 http://ftpmaster.internal/ubuntu oracular/universe offpunk 2.2-2 (dsc) [2342 B] 462s Get:2 http://ftpmaster.internal/ubuntu oracular/universe offpunk 2.2-2 (tar) [231 kB] 462s Get:3 http://ftpmaster.internal/ubuntu oracular/universe offpunk 2.2-2 (diff) [15.7 kB] 462s gpgv: Signature made Sun Mar 17 15:15:52 2024 UTC 462s gpgv: using RSA key 8F91B227C7D6F2B1948C8236793CF67E8F0D11DA 462s gpgv: issuer "emollier@debian.org" 462s gpgv: Can't check signature: No public key 462s dpkg-source: warning: cannot verify inline signature for ./offpunk_2.2-2.dsc: no acceptable signature found 463s autopkgtest [21:22:50]: testing package offpunk version 2.2-2 463s autopkgtest [21:22:50]: build not needed 464s autopkgtest [21:22:51]: test run-commands: preparing testbed 465s Reading package lists... 466s Building dependency tree... 466s Reading state information... 466s Starting pkgProblemResolver with broken count: 0 466s Starting 2 pkgProblemResolver with broken count: 0 466s Done 467s The following additional packages will be installed: 467s offpunk 467s Suggested packages: 467s chafa timg xsel 467s Recommended packages: 467s xdg-utils python3-feedparser python3-bs4 python3-readability 467s python3-setproctitle 467s The following NEW packages will be installed: 467s autopkgtest-satdep offpunk 467s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 467s Need to get 70.6 kB/71.3 kB of archives. 467s After this operation, 324 kB of additional disk space will be used. 467s Get:1 /tmp/autopkgtest.cIZ7A8/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [704 B] 467s Get:2 http://ftpmaster.internal/ubuntu oracular/universe arm64 offpunk all 2.2-2 [70.6 kB] 470s Fetched 70.6 kB in 0s (147 kB/s) 470s Selecting previously unselected package offpunk. 470s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78320 files and directories currently installed.) 470s Preparing to unpack .../archives/offpunk_2.2-2_all.deb ... 470s Unpacking offpunk (2.2-2) ... 470s Selecting previously unselected package autopkgtest-satdep. 471s Preparing to unpack .../1-autopkgtest-satdep.deb ... 471s Unpacking autopkgtest-satdep (0) ... 472s Setting up offpunk (2.2-2) ... 473s Setting up autopkgtest-satdep (0) ... 473s Processing triggers for man-db (2.12.1-2) ... 478s (Reading database ... 78344 files and directories currently installed.) 478s Removing autopkgtest-satdep (0) ... 479s autopkgtest [21:23:06]: test run-commands: [----------------------- 480s 480s # 0. Basic arguments 480s offpunk --version 480s To render images inline, you need either chafa or timg. 480s Before Chafa 1.10, you also need python-pil 480s Offpunk 2.2 481s offpunk --help 481s To render images inline, you need either chafa or timg. 481s Before Chafa 1.10, you also need python-pil 481s usage: offpunk [-h] [--bookmarks] [--config-file FILE] [--sync] [--assume-yes] 481s [--disable-http] [--fetch-later] [--depth DEPTH] 481s [--images-mode IMAGES_MODE] [--cache-validity CACHE_VALIDITY] 481s [--version] [--features] 481s [URL ...] 481s 481s Offline-First Gemini/Web/Gopher/RSS reader and browser 481s 481s positional arguments: 481s URL Arguments should be URL to be fetched or, if --sync is 481s used, lists 481s 481s options: 481s -h, --help show this help message and exit 481s --bookmarks start with your list of bookmarks 481s --config-file FILE use this particular config file instead of default 481s --sync run non-interactively to build cache by exploring 481s lists passed as argument. Without argument, all lists 481s are fetched. 481s --assume-yes assume-yes when asked questions about 481s certificates/redirections during sync (lower security) 481s --disable-http do not try to get http(s) links (but already cached 481s will be displayed) 481s --fetch-later run non-interactively with an URL as argument to fetch 481s it later 481s --depth DEPTH depth of the cache to build. Default is 1. More is 481s crazy. Use at your own risks! 481s --images-mode IMAGES_MODE 481s the mode to use to choose which images to download in 481s a HTML page. one of (None, readable, full). Warning: 481s full will slowdown your sync. 481s --cache-validity CACHE_VALIDITY 481s duration for which a cache is valid before sync 481s (seconds) 481s --version display version information and quit 481s --features display available features and dependancies then quit 481s offpunk --features 481s To render images inline, you need either chafa or timg. 481s Before Chafa 1.10, you also need python-pil 481s Upgrading cache to version 1: migrating index.txt to gophermap 481s Offpunk 2.2 481s =========== 481s Highly recommended: 481s - python-cryptography : Installed 481s - xdg-open : Not Installed 481s 481s Web browsing: 481s - python-requests : Installed 481s - python-feedparser : Not Installed 481s - python-bs4 : Not Installed 481s - python-readability : Not Installed 481s - timg 1.3.2+ : Not Installed 481s - chafa : Not Installed 481s - python-pil : Not Installed 481s 481s Nice to have: 481s - python-setproctitle : Not Installed 481s - xsel : Not Installed 481s 481s Features : 481s - Render images (python-pil, chafa or timg) : Not Installed 481s - Render HTML (bs4, readability) : Not Installed 481s - Render Atom/RSS feeds (feedparser) : Not Installed 481s - Connect to http/https (requests) : Installed 481s - Detect text encoding (python-chardet) : Installed 481s - copy to/from clipboard (xsel) : Not Installed 481s - restore last position (less 572+) : Installed 481s 481s Config directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 481s User Data directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 481s Cache directoy : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.cache/offpunk/ 481s echo quit | offpunk --bookmarks 481s bookmarks (0 items) (local file) 481s bookmarks 482s To render images inline, you need either chafa or timg. 482s Before Chafa 1.10, you also need python-pil 482s Creating config directory /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 482s Creating config directory /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 482s Welcome to Offpunk! 482s Type `help` to get the list of available command. 482s ON> You can close your screen! 482s 482s # 1. Basic commands 482s cat << END | offpunk 482s version 482s help 482s help abbrevs 482s help add 482s help back 482s help blackbox 482s help bookmarks 482s help cat 482s help cert 482s help copy 482s help find 482s help forward 482s help go 482s help gus 482s help handler 482s help help 482s help history 482s help info 482s help list 482s help ls 482s help mark 482s help move 482s help offline 482s help online 482s help open 482s help redirect 482s help reload 482s help root 482s help save 482s help set 482s help shell echo test 482s help subscribe 482s help sync 482s help theme 482s help tour 482s help url 482s help version 482s help wikipedia 482s help exit 482s help quit 482s quit 482s END 482s To render images inline, you need either chafa or timg. 482s Before Chafa 1.10, you also need python-pil 482s Welcome to Offpunk! 482s Type `help` to get the list of available command. 482s ON> Offpunk 2.2 482s =========== 482s Highly recommended: 482s - python-cryptography : Installed 482s - xdg-open : Not Installed 482s 482s Web browsing: 482s - python-requests : Installed 482s - python-feedparser : Not Installed 482s - python-bs4 : Not Installed 482s - python-readability : Not Installed 482s - timg 1.3.2+ : Not Installed 482s - chafa : Not Installed 482s - python-pil : Not Installed 482s 482s Nice to have: 482s - python-setproctitle : Not Installed 482s - xsel : Not Installed 482s 482s Features : 482s - Render images (python-pil, chafa or timg) : Not Installed 482s - Render HTML (bs4, readability) : Not Installed 482s - Render Atom/RSS feeds (feedparser) : Not Installed 482s - Connect to http/https (requests) : Installed 482s - Detect text encoding (python-chardet) : Installed 482s - copy to/from clipboard (xsel) : Not Installed 482s - restore last position (less 572+) : Installed 482s 482s Config directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 482s User Data directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 482s Cache directoy : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.cache/offpunk/ 482s ON> 482s Documented commands (type help ): 482s ======================================== 482s abbrevs cat go info offline reload shell up 482s add copy gus list online root subscribe url 482s archive exit handler ls open save sync version 482s back find help mark quit search theme view 482s bookmarks forward history move redirect set tour wikipedia 482s 482s ON> Print all Offpunk command abbreviations. 482s ON> Add the current URL to the list specied as argument. 482s If no argument given, URL is added to Bookmarks. 482s ON> Go back to the previous gemini item. 482s ON> *** No help on blackbox 482s ON> Show or access the bookmarks menu. 482s 'bookmarks' shows all bookmarks. 482s 'bookmarks n' navigates immediately to item n in the bookmark menu. 482s Bookmarks are stored using the 'add' command. 482s ON> Run most recently visited item through "cat" command. 482s ON> *** No help on cert 482s ON> Copy the content of the last visited page as gemtext/html in the clipboard. 482s Use with "url" as argument to only copy the adress. 482s Use with "raw" to copy ANSI content as seen in your terminal (with colour codes). 482s Use with "cache" to copy the path of the cached content. 482s Use with "title" to copy the title of the page. 482s Use with "link" to copy a link in the gemtext format to that page with the title. 482s 482s ON> Find in current page by displaying only relevant lines (grep). 482s ON> Go forward to the next gemini item. 482s ON> Go to a gemini URL or marked item. 482s ON> Submit a search query to the geminispace.info search engine. 482s ON> View or set handler commands for different MIME types. 482s ON> ALARM! Recursion detected! ALARM! Prepare to eject! 482s ON> Display history. 482s ON> Display information about current page. 482s ON> Manage list of bookmarked pages. 482s - list : display available lists 482s - list $LIST : display pages in $LIST 482s - list create $NEWLIST : create a new list 482s - list edit $LIST : edit the list 482s - list subscribe $LIST : during sync, add new links found in listed pages to tour 482s - list freeze $LIST : don’t update pages in list during sync if a cache already exists 482s - list normal $LIST : update pages in list during sync but don’t add anything to tour 482s - list delete $LIST : delete a list permanently (a confirmation is required) 482s - list help : print this help 482s See also : 482s - add $LIST (to add current page to $LIST or, by default, to bookmarks) 482s - move $LIST (to add current page to list while removing from all others) 482s - archive (to remove current page from all lists while adding to archives) 482s 482s There’s no "delete" on purpose. The use of "archive" is recommended. 482s 482s The following lists cannot be removed or frozen but can be edited with "list edit" 482s - list archives : contains last 200 archived URLs 482s - history : contains last 200 visisted URLs 482s - to_fetch : contains URLs that will be fetch during the next sync 482s - tour : contains the next URLs to visit during a tour (see "help tour") 482s 482s 482s ON> List contents of current index. 482s Use 'ls -l' to see URLs. 482s ON> Mark the current item with a single letter. This letter can then 482s be passed to the 'go' command to return to the current item later. 482s Think of it like marks in vi: 'mark a'='ma' and 'go a'=''a'. 482s Marks are temporary until shutdown (not saved to disk). 482s ON> move LIST will add the current page to the list LIST. 482s With a major twist: current page will be removed from all other lists. 482s If current page was not in a list, this command is similar to `add LIST`. 482s ON> Use Offpunk offline by only accessing cached content 482s ON> Use Offpunk online with a direct connection 482s ON> Open current item with the configured handler or xdg-open. 482s Uses "open url" to open current URL in a browser. 482s see "handler" command to set your handler. 482s ON> Display and manage the list of redirected URLs. This features is mostly useful to use privacy-friendly frontends for popular websites. 482s ON> Reload the current URL. 482s ON> Go to root selector of the server hosting current item. 482s ON> Save an item to the filesystem. 482s 'save n filename' saves menu item n to the specified filename. 482s 'save filename' saves the last viewed item to the specified filename. 482s 'save n' saves menu item n to an automagic filename. 482s ON> View or set various options. 482s ON> *** No help on shell echo test 482s ON> Subscribe to current page by saving it in the "subscribed" list. 482s If a new link is found in the page during a --sync, the new link is automatically 482s fetched and added to your next tour. 482s To unsubscribe, remove the page from the "subscribed" list. 482s ON> Synchronize all bookmarks lists and URLs from the to_fetch list. 482s - New elements in pages in subscribed lists will be added to tour 482s - Elements in list to_fetch will be retrieved and added to tour 482s - Normal lists will be synchronized and updated 482s - Frozen lists will be fetched only if not present. 482s 482s Before a sync, you can edit the list of URLs that will be fetched with the 482s following command: "list edit to_fetch" 482s 482s Argument : duration of cache validity (in seconds). 482s ON> Change the colors of your rendered text. 482s 482s "theme ELEMENT COLOR" 482s 482s ELEMENT is one of: window_title, window_subtitle, title, 482s subtitle,subsubtitle,link,oneline_link,new_link,image_link,preformatted,blockquote. 482s 482s COLOR is one or many (separated by space) of: bold, faint, italic, underline, black, 482s red, green, yellow, blue, purple, cyan, white. 482s 482s Each color can alternatively be prefaced with "bright_". 482s ON> Add index items as waypoints on a tour, which is basically a FIFO 482s queue of gemini items. 482s 482s `tour` or `t` alone brings you to the next item in your tour. 482s Items can be added with `tour 1 2 3 4` or ranges like `tour 1-4`. 482s All items in current menu can be added with `tour *`. 482s All items in $LIST can be added with `tour $LIST`. 482s Current item can be added back to the end of the tour with `tour .`. 482s Current tour can be listed with `tour ls` and scrubbed with `tour clear`. 482s ON> Print URL of most recently visited item. 482s ON> Display version and system information. 482s ON> Search on wikipedia using the configured Gemini interface. 482s The first word should be the two letters code for the language. 482s Exemple : "wikipedia en Gemini protocol" 482s But you can also use abbreviations to go faster: 482s "wen Gemini protocol". (your abbreviation might be missing, report the bug) 482s The interface used can be modified with the command: 482s "set wikipedia URL" where URL should contains two "%s", the first 482s one used for the language, the second for the search string. 482s ON> Exit Offpunk. 482s ON> Exit Offpunk. 482s ON> You can close your screen! 482s 482s # cert calls a submenu which expects then a blank line to get outside. 482s # find will call the pager 482s # gus and search will launch the client to the search engine. 482s # reload will call the pager 482s # wikipedia will require test to have Internet access 482s cat << END | offpunk 482s abbrevs 482s add 482s archive 482s back 482s blackbox 482s bookmarks 482s cat 482s cert 482s 482s copy 482s forward 482s go 482s handler 482s history 482s info 482s list 482s ls 482s mark 482s move 482s offline 482s online 482s open 482s redirect 482s root 482s save 482s set 482s shell echo test 482s subscribe 482s 482s sync 482s tour 482s theme 482s url 482s exit 482s END 483s To render images inline, you need either chafa or timg. 483s Before Chafa 1.10, you also need python-pil 483s Welcome to Offpunk! 483s Type `help` to get the list of available command. 483s ON> 483s Command Abbreviations: 483s ====================== 483s .. up 483s a add 483s b back 483s bb blackbox 483s bm bookmarks 483s book bookmarks 483s cp copy 483s f forward 483s g go 483s h history 483s hist history 483s l view 483s less view 483s man help 483s mv move 483s n next 483s off offline 483s on online 483s p previous 483s prev previous 483s q quit 483s r reload 483s s save 483s se search 483s / find 483s t tour 483s u up 483s v view 483s w wikipedia 483s wen wikipedia en 483s wfr wikipedia fr 483s wes wikipedia es 483s 483s ON> You need to 'go' somewhere, first 483s ON> You need to 'go' somewhere, first 483s ON> ON> What? 483s ON> bookmarks (0 items) (local file) 483s bookmarks 483s ON> bookmarks (0 items) (local file) 483s bookmarks 483s ON> What? 483s ON> ON> Please install xsel to use copy 483s ON> ON> Go where? (hint: install xsel to go to copied URLs) 483s ON> ON> history (1 items) (local file) 483s history 483s [1] bookmarks (bookmarks), visited on Thu Jun 27 21:23:08 2024 483s  483s ON> history (history) 483s 483s URL : list:///history 483s Mime : text/gemini 483s Cache : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists/history.gmi 483s Renderer : t.GemtextRenderer 483s 483s Page is not save in any list 483s ON>  (2 items) (local file) 483s 483s Bookmarks Lists (updated during sync) 483s [1] bookmarks (0 items) 483s 483s System Lists 483s [2] history (1 items) 483s  483s ON> [1] list:///bookmarks 483s [2] list:///history 483s ON> ON> LIST argument is required as the target for your move 483s ON> Offpunk is now offline and will only access cached content 483s OFF> Offpunk is online and will access the network 483s ON> Can’t find how to open /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists 483s Please install xdg-open (usually from xdg-util package) 483s ON> Current redirections: 483s -------------------- 483s *twitter.com -> nitter.net 483s youtube.com -> yewtu.be 483s youtu.be -> yewtu.be 483s *reddit.com -> teddit.net 483s *medium.com -> scribe.rip 483s *advertising.amazon.com -> blocked 483s *google-webfonts-helper.herokuapp.com -> blocked 483s *ads.yahoo.com -> blocked 483s *advertise.newrepublic.com -> blocked 483s *advertising.theguardian.com -> blocked 483s *facebook.net -> blocked 483s *doubleclick.net -> blocked 483s *fbcdn.net -> blocked 483s *tiktok.com -> blocked 483s *google-analytics.com -> blocked 483s *facebook.com -> blocked 483s *google-health-ads.blogspot.com -> blocked 483s *admanager.google.com -> blocked 483s *licdn.com -> blocked 483s *firebase.google.com -> blocked 483s *linkedin.com -> blocked 483s 483s To add new, use "redirect origine.com destination.org" 483s To remove a redirect, use "redirect origine.com NONE" 483s To completely block a website, use "redirect origine.com BLOCK" 483s To block also subdomains, prefix with *: "redirect *origine.com BLOCK" 483s ON> list:/ does not exist 483s ON> Can’t save /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists because it’s a folder, not a file 483s ON> accept_bad_ssl_certificates False 483s archives_size 200 483s auto_follow_redirects True 483s beta False 483s debug False 483s default_protocol gemini 483s download_images_first True 483s editor None 483s history_size 200 483s images_mode readable 483s max_size_download 10 483s redirects True 483s search gemini://kennedy.gemi.dev/search?%s 483s short_timeout 5 483s timeout 600 483s tls_mode tofu 483s width 72 483s wikipedia gemini://vault.transjovian.org:1965/search/%s/%s 483s ON> test 483s ON> No feed detected. You can still watch the page : 483s [1] list:/// [Directory] 483s 483s Which feed do you want to subscribe ? > No subscription registered 483s ON> * * * 0 to fetch in bookmarks * * * 483s * * * 0 to fetch in tour * * * 483s End of sync 483s ON> End of tour. 483s ON> window_title set to ['red', 'bold'] 483s window_subtitle set to ['red', 'faint'] 483s title set to ['blue', 'bold', 'underline'] 483s subtitle set to ['blue'] 483s subsubtitle set to ['blue', 'faint'] 483s link set to ['blue', 'faint'] 483s new_link set to ['bold'] 483s oneline_link set to [] 483s image_link set to ['yellow', 'faint'] 483s preformatted set to ['faint'] 483s blockquote set to ['italic'] 483s prompt_on set to ['green'] 483s prompt_off set to ['green'] 483s ON> list:/// 483s ON> You can close your screen! 483s 483s # 2. Checks against gemini file 483s cat << END | offpunk 483s go file://$PWD/index.gmi 483s quit 483s END 484s To render images inline, you need either chafa or timg. 484s Before Chafa 1.10, you also need python-pil 484s Welcome to Offpunk! 484s Type `help` to get the list of available command. 484s ON> index.gmi (7 items) (local file) 484s OFFPUNK - An Offline-First Browser for the Smolnet 484s 484s Offpunk is a command-line browser and feed reader dedicated to browsing 484s the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it 484s is optimised to be used offline with rare connections but works as well 484s when connected. 484s 484s Offpunk is optimised for reading and supports readability mode, 484s displaying pictures, subscribing to pages or RSS feeds, managing complex 484s lists of bookmarks. Its integrated help and easy commands make it a 484s perfect tool for command-line novices while power-users will be amazed 484s by its shell integration. 484s 484s Offpunk is written in Python 3 by Ploum. It aims to be portable and 484s minimise dependencies, making them optional. It supports 484s http/https/gopher/gemini/spartan on both IPv4 and IPv6. 484s 484s 484s [1] Installing Offpunk and dependencies 484s [2] First steps 484s [3] Configuring Offpunk 484s [4] Using Offpunk offline 484s [5] Lists and subscriptions 484s [6] Shell and OS integrations 484s [7] Roadmap & Contributions 484s 484s  484s ON> You can close your screen! 484s 484s # 3. Test netcache command 484s # 3.0 Basic 484s netcache --help 485s To render images inline, you need either chafa or timg. 485s Before Chafa 1.10, you also need python-pil 485s usage: netcache [-h] [--path] [--offline] [--max-size MAX_SIZE] 485s [--timeout TIMEOUT] [--cache-validity CACHE_VALIDITY] 485s [URL ...] 485s 485s Netcache is a command-line tool to retrieve, cache and access networked 485s content. By default, netcache will returns a cached version of a given URL, 485s downloading it only if not existing. A validity duration, in seconds, can also 485s be given so that netcache downloads the content only if the existing cache is 485s older than the validity. 485s 485s positional arguments: 485s URL download URL and returns the content or the path to a 485s cached version 485s 485s options: 485s -h, --help show this help message and exit 485s --path return path to the cache instead of the content of the 485s cache 485s --offline Do not attempt to download, return cached version or 485s error 485s --max-size MAX_SIZE Cancel download of items above that size (value in 485s Mb). 485s --timeout TIMEOUT Time to wait before cancelling connection (in second). 485s --cache-validity CACHE_VALIDITY 485s maximum age, in second, of the cached version before 485s redownloading a new version 485s # 3.1 Various suboptions 485s OUT="$(netcache --path "file://$PWD/index.gmi")" 485s echo "$OUT" | grep -q "$PWD/index.gmi" 485s # (Note that the file local do not feed the user's cache.) 485s # 3.2 Main functionality 485s netcache "file://$PWD/index.gmi" 486s To render images inline, you need either chafa or timg. 486s Before Chafa 1.10, you also need python-pil 486s # OFFPUNK - An Offline-First Browser for the Smolnet 486s 486s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 486s 486s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 486s 486s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 486s 486s 486s => install.gmi Installing Offpunk and dependencies 486s => tutorial.gmi First steps 486s => config.gmi Configuring Offpunk 486s => offline.gmi Using Offpunk offline 486s => lists.gmi Lists and subscriptions 486s => shell.gmi Shell and OS integrations 486s => dev.gmi Roadmap & Contributions 486s 486s 486s netcache --offline "file://$PWD/index.gmi" 486s To render images inline, you need either chafa or timg. 486s Before Chafa 1.10, you also need python-pil 486s # OFFPUNK - An Offline-First Browser for the Smolnet 486s 486s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 486s 486s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 486s 486s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 486s 486s 486s => install.gmi Installing Offpunk and dependencies 486s => tutorial.gmi First steps 486s => config.gmi Configuring Offpunk 486s => offline.gmi Using Offpunk offline 486s => lists.gmi Lists and subscriptions 486s => shell.gmi Shell and OS integrations 486s => dev.gmi Roadmap & Contributions 486s 486s 486s netcache --max-size 1 "file://$PWD/index.gmi" 486s To render images inline, you need either chafa or timg. 486s Before Chafa 1.10, you also need python-pil 486s # OFFPUNK - An Offline-First Browser for the Smolnet 486s 486s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 486s 486s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 486s 486s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 486s 486s 486s => install.gmi Installing Offpunk and dependencies 486s => tutorial.gmi First steps 486s => config.gmi Configuring Offpunk 486s => offline.gmi Using Offpunk offline 486s => lists.gmi Lists and subscriptions 486s => shell.gmi Shell and OS integrations 486s => dev.gmi Roadmap & Contributions 486s 486s 486s # Note that testing the --timeout looks to need Internet, so we'll skip this 486s # option for now. 486s 486s # 4. Test ansicat 486s # 4.0 Basic 486s ansicat --help 487s To render images inline, you need either chafa or timg. 487s Before Chafa 1.10, you also need python-pil 487s usage: ansicat [-h] 487s [--format {auto,gemtext,html,feed,gopher,image,folder,text,plaintext}] 487s [--mime MIME] [--url [URL ...]] [--mode MODE] 487s [INPUT ...] 487s 487s ansicat is a terminal rendering tool that will render multiple formats (HTML, 487s Gemtext, RSS, Gophermap, Image) into ANSI text and colors. When used on a 487s file, ansicat will try to autodetect the format. When used with standard 487s input, the format must be manually specified. If the content contains links, 487s the original URL of the content can be specified in order to correctly modify 487s relatives links. 487s 487s positional arguments: 487s INPUT Path to the text to render (default to stdin) 487s 487s options: 487s -h, --help show this help message and exit 487s --format {auto,gemtext,html,feed,gopher,image,folder,text,plaintext} 487s Renderer to use. Available: auto, gemtext, html, feed, 487s gopher, image, folder, plaintext 487s --mime MIME Mime of the content to parse 487s --url [URL ...] Original URL of the content 487s --mode MODE Which mode should be used to render: normal (default), 487s full or source. With HTML, the normal mode try to 487s extract the article. 487s # 4.1 Test some ansicat formats and options 487s # WARNING: there is something about autopkgtest environment that causes the two 487s # below commands to crash, but running them by hand works perfectly. 487s # This may indicate fragility in the tool, but it is curious that the 487s # 4.2 section below gave no difficulty: if this crashes too, then it 487s # may be reasonable to skip it as well. 487s #ansicat --format plaintext index.gmi 487s #ansicat --mime text/plain index.gmi 487s # 4.2 Main functionality 487s ansicat --url "file://$PWD/index.gmi" index.gmi 487s To render images inline, you need either chafa or timg. 487s Before Chafa 1.10, you also need python-pil 487s Format or mime should be specified when running with stdin 487s 487s # 5. Test opnk 487s # 5.0 Basic 487s opnk --help 487s To render images inline, you need either chafa or timg. 487s Before Chafa 1.10, you also need python-pil 487s usage: opnk [-h] [--mode MODE] [--cache-validity CACHE_VALIDITY] [INPUT ...] 487s 487s opnk is an universal open command tool that will try to display any file in 487s the pager less after rendering its content with ansicat. If that fails, opnk 487s will fallback to opening the file with xdg-open. If given an URL as input 487s instead of a path, opnk will rely on netcache to get the networked content. 487s 487s positional arguments: 487s INPUT Path to the file or URL to open 487s 487s options: 487s -h, --help show this help message and exit 487s --mode MODE Which mode should be used to render: normal (default), 487s full or source. With HTML, the normal mode try to 487s extract the article. 487s --cache-validity CACHE_VALIDITY 487s maximum age, in second, of the cached version before 487s redownloading a new version 487s # 5.1 Open some things (but stick to not needing Internet). 487s opnk /usr/share/doc/offpunk/copyright 488s copyright (3 items) (local file) 488s Format: https://www.debian.org/doc/packaging-manuals/copyright- 488s format/1.0/ 488s Upstream-Name: Offpunk 488s Upstream-Contact: Lionel "Ploum" Dricot 488s Source: https://git.sr.ht/~lioploum/offpunk/ 488s 488s Files: * 488s Copyright: 2019-2020, Solderpunk 488s 2021-2024, Ploum and contributors. 488s License: AGPL-3 488s Comment: Derived from AV-98[1] by Solderpunk. 488s [1]: https://tildegit.org/solderpunk/AV-98 488s 488s Files: debian/* 488s Copyright: 2023-2024, Étienne Mollier 488s License: AGPL-3 488s 488s License: AGPL-3 488s Copyright (c) 2022, Ploum and contributors. 488s All rights reserved. 488s . 488s Copyright (C) 2007 Free Software Foundation, Inc. 488s Everyone is permitted to copy and distribute verbatim copies 488s of this license document, but changing it is not allowed. 488s . 488s Preamble 488s . 488s The GNU Affero General Public License is a free, copyleft license for 488s software and other kinds of works, specifically designed to ensure 488s cooperation with the community in the case of network server software. 488s . 488s The licenses for most software and other practical works are designed 488s to take away your freedom to share and change the works. By contrast, 488s our General Public Licenses are intended to guarantee your freedom to 488s share and change all versions of a program--to make sure it remains 488s free 488s software for all its users. 488s . 488s When we speak of free software, we are referring to freedom, not 488s price. Our General Public Licenses are designed to make sure that you 488s have the freedom to distribute copies of free software (and charge for 488s them if you wish), that you receive source code or can get it if you 488s want it, that you can change the software or use pieces of it in new 488s free programs, and that you know you can do these things. 488s . 488s Developers that use our General Public Licenses protect your rights 488s with two steps: (1) assert copyright on the software, and (2) offer 488s you this License which gives you legal permission to copy, distribute 488s and/or modify the software. 488s . 488s A secondary benefit of defending all users' freedom is that 488s improvements made in alternate versions of the program, if they 488s receive widespread use, become available for other developers to 488s incorporate. Many developers of free software are heartened and 488s encouraged by the resulting cooperation. However, in the case of 488s software used on network servers, this result may fail to come about. 488s The GNU General Public License permits making a modified version and 488s letting the public access it on a server without ever releasing its 488s source code to the public. 488s . 488s The GNU Affero General Public License is designed specifically to 488s ensure that, in such cases, the modified source code becomes available 488s to the community. It requires the operator of a network server to 488s provide the source code of the modified version running there to the 488s users of that server. Therefore, public use of a modified version, on 488s a publicly accessible server, gives the public access to the source 488s code of the modified version. 488s . 488s An older license, called the Affero General Public License and 488s published by Affero, was designed to accomplish similar goals. This is 488s a different license, not a version of the Affero GPL, but Affero has 488s released a new version of the Affero GPL which permits relicensing 488s under 488s this license. 488s . 488s The precise terms and conditions for copying, distribution and 488s modification follow. 488s . 488s TERMS AND CONDITIONS 488s . 488s 0. Definitions. 488s . 488s "This License" refers to version 3 of the GNU Affero General Public 488s License. 488s . 488s "Copyright" also means copyright-like laws that apply to other kinds of 488s works, such as semiconductor masks. 488s . 488s "The Program" refers to any copyrightable work licensed under this 488s License. Each licensee is addressed as "you". "Licensees" and 488s "recipients" may be individuals or organizations. 488s . 488s To "modify" a work means to copy from or adapt all or part of the work 488s in a fashion requiring copyright permission, other than the making of 488s an 488s exact copy. The resulting work is called a "modified version" of the 488s earlier work or a work "based on" the earlier work. 488s . 488s A "covered work" means either the unmodified Program or a work based 488s on the Program. 488s . 488s To "propagate" a work means to do anything with it that, without 488s permission, would make you directly or secondarily liable for 488s infringement under applicable copyright law, except executing it on a 488s computer or modifying a private copy. Propagation includes copying, 488s distribution (with or without modification), making available to the 488s public, and in some countries other activities as well. 488s . 488s To "convey" a work means any kind of propagation that enables other 488s parties to make or receive copies. Mere interaction with a user 488s through 488s a computer network, with no transfer of a copy, is not conveying. 488s . 488s An interactive user interface displays "Appropriate Legal Notices" 488s to the extent that it includes a convenient and prominently visible 488s feature that (1) displays an appropriate copyright notice, and (2) 488s tells the user that there is no warranty for the work (except to the 488s extent that warranties are provided), that licensees may convey the 488s work under this License, and how to view a copy of this License. If 488s the interface presents a list of user commands or options, such as a 488s menu, a prominent item in the list meets this criterion. 488s . 488s 1. Source Code. 488s . 488s The "source code" for a work means the preferred form of the work 488s for making modifications to it. "Object code" means any non-source 488s form of a work. 488s . 488s A "Standard Interface" means an interface that either is an official 488s standard defined by a recognized standards body, or, in the case of 488s interfaces specified for a particular programming language, one that 488s is widely used among developers working in that language. 488s . 488s The "System Libraries" of an executable work include anything, other 488s than the work as a whole, that (a) is included in the normal form of 488s packaging a Major Component, but which is not part of that Major 488s Component, and (b) serves only to enable use of the work with that 488s Major Component, or to implement a Standard Interface for which an 488s implementation is available to the public in source code form. A 488s "Major Component", in this context, means a major essential component 488s (kernel, window system, and so on) of the specific operating system 488s (if any) on which the executable work runs, or a compiler used to 488s produce the work, or an object code interpreter used to run it. 488s . 488s The "Corresponding Source" for a work in object code form means all 488s the source code needed to generate, install, and (for an executable 488s work) run the object code and to modify the work, including scripts to 488s control those activities. However, it does not include the work's 488s System Libraries, or general-purpose tools or generally available free 488s programs which are used unmodified in performing those activities but 488s which are not part of the work. For example, Corresponding Source 488s includes interface definition files associated with source files for 488s the work, and the source code for shared libraries and dynamically 488s linked subprograms that the work is specifically designed to require, 488s such as by intimate data communication or control flow between those 488s subprograms and other parts of the work. 488s . 488s The Corresponding Source need not include anything that users 488s can regenerate automatically from other parts of the Corresponding 488s Source. 488s . 488s The Corresponding Source for a work in source code form is that 488s same work. 488s . 488s 2. Basic Permissions. 488s . 488s All rights granted under this License are granted for the term of 488s copyright on the Program, and are irrevocable provided the stated 488s conditions are met. This License explicitly affirms your unlimited 488s permission to run the unmodified Program. The output from running a 488s covered work is covered by this License only if the output, given its 488s content, constitutes a covered work. This License acknowledges your 488s rights of fair use or other equivalent, as provided by copyright law. 488s . 488s You may make, run and propagate covered works that you do not 488s convey, without conditions so long as your license otherwise remains 488s in force. You may convey covered works to others for the sole purpose 488s of having them make modifications exclusively for you, or provide you 488s with facilities for running those works, provided that you comply with 488s the terms of this License in conveying all material for which you do 488s not control copyright. Those thus making or running the covered works 488s for you must do so exclusively on your behalf, under your direction 488s and control, on terms that prohibit them from making any copies of 488s your copyrighted material outside their relationship with you. 488s . 488s Conveying under any other circumstances is permitted solely under 488s the conditions stated below. Sublicensing is not allowed; section 10 488s makes it unnecessary. 488s . 488s 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 488s . 488s No covered work shall be deemed part of an effective technological 488s measure under any applicable law fulfilling obligations under article 488s 11 of the WIPO copyright treaty adopted on 20 December 1996, or 488s similar laws prohibiting or restricting circumvention of such 488s measures. 488s . 488s When you convey a covered work, you waive any legal power to forbid 488s circumvention of technological measures to the extent such 488s circumvention 488s is effected by exercising rights under this License with respect to 488s the covered work, and you disclaim any intention to limit operation or 488s modification of the work as a means of enforcing, against the work's 488s users, your or third parties' legal rights to forbid circumvention of 488s technological measures. 488s . 488s 4. Conveying Verbatim Copies. 488s . 488s You may convey verbatim copies of the Program's source code as you 488s receive it, in any medium, provided that you conspicuously and 488s appropriately publish on each copy an appropriate copyright notice; 488s keep intact all notices stating that this License and any 488s non-permissive terms added in accord with section 7 apply to the code; 488s keep intact all notices of the absence of any warranty; and give all 488s recipients a copy of this License along with the Program. 488s . 488s You may charge any price or no price for each copy that you convey, 488s and you may offer support or warranty protection for a fee. 488s . 488s 5. Conveying Modified Source Versions. 488s . 488s You may convey a work based on the Program, or the modifications to 488s produce it from the Program, in the form of source code under the 488s terms of section 4, provided that you also meet all of these 488s conditions: 488s . 488s a) The work must carry prominent notices stating that you modified 488s it, and giving a relevant date. 488s . 488s b) The work must carry prominent notices stating that it is 488s released under this License and any conditions added under section 488s 7. This requirement modifies the requirement in section 4 to 488s "keep intact all notices". 488s . 488s c) You must license the entire work, as a whole, under this 488s License to anyone who comes into possession of a copy. This 488s License will therefore apply, along with any applicable section 7 488s additional terms, to the whole of the work, and all its parts, 488s regardless of how they are packaged. This License gives no 488s permission to license the work in any other way, but it does not 488s invalidate such permission if you have separately received it. 488s . 488s d) If the work has interactive user interfaces, each must display 488s Appropriate Legal Notices; however, if the Program has interactive 488s interfaces that do not display Appropriate Legal Notices, your 488s work need not make them do so. 488s . 488s A compilation of a covered work with other separate and independent 488s works, which are not by their nature extensions of the covered work, 488s and which are not combined with it such as to form a larger program, 488s in or on a volume of a storage or distribution medium, is called an 488s "aggregate" if the compilation and its resulting copyright are not 488s used to limit the access or legal rights of the compilation's users 488s beyond what the individual works permit. Inclusion of a covered work 488s in an aggregate does not cause this License to apply to the other 488s parts of the aggregate. 488s . 488s 6. Conveying Non-Source Forms. 488s . 488s You may convey a covered work in object code form under the terms 488s of sections 4 and 5, provided that you also convey the 488s machine-readable Corresponding Source under the terms of this License, 488s in one of these ways: 488s . 488s a) Convey the object code in, or embodied in, a physical product 488s (including a physical distribution medium), accompanied by the 488s Corresponding Source fixed on a durable physical medium 488s customarily used for software interchange. 488s . 488s b) Convey the object code in, or embodied in, a physical product 488s (including a physical distribution medium), accompanied by a 488s written offer, valid for at least three years and valid for as 488s long as you offer spare parts or customer support for that product 488s model, to give anyone who possesses the object code either (1) a 488s copy of the Corresponding Source for all the software in the 488s product that is covered by this License, on a durable physical 488s medium customarily used for software interchange, for a price no 488s more than your reasonable cost of physically performing this 488s conveying of source, or (2) access to copy the 488s Corresponding Source from a network server at no charge. 488s . 488s c) Convey individual copies of the object code with a copy of the 488s written offer to provide the Corresponding Source. This 488s alternative is allowed only occasionally and noncommercially, and 488s only if you received the object code with such an offer, in accord 488s with subsection 6b. 488s . 488s d) Convey the object code by offering access from a designated 488s place (gratis or for a charge), and offer equivalent access to the 488s Corresponding Source in the same way through the same place at no 488s further charge. You need not require recipients to copy the 488s Corresponding Source along with the object code. If the place to 488s copy the object code is a network server, the Corresponding Source 488s may be on a different server (operated by you or a third party) 488s that supports equivalent copying facilities, provided you maintain 488s clear directions next to the object code saying where to find the 488s Corresponding Source. Regardless of what server hosts the 488s Corresponding Source, you remain obligated to ensure that it is 488s available for as long as needed to satisfy these requirements. 488s . 488s e) Convey the object code using peer-to-peer transmission, provided 488s you inform other peers where the object code and Corresponding 488s Source of the work are being offered to the general public at no 488s charge under subsection 6d. 488s . 488s A separable portion of the object code, whose source code is excluded 488s from the Corresponding Source as a System Library, need not be 488s included in conveying the object code work. 488s . 488s A "User Product" is either (1) a "consumer product", which means any 488s tangible personal property which is normally used for personal, family, 488s or household purposes, or (2) anything designed or sold for 488s incorporation 488s into a dwelling. In determining whether a product is a consumer 488s product, 488s doubtful cases shall be resolved in favor of coverage. For a 488s particular 488s product received by a particular user, "normally used" refers to a 488s typical or common use of that class of product, regardless of the 488s status 488s of the particular user or of the way in which the particular user 488s actually uses, or expects or is expected to use, the product. A 488s product 488s is a consumer product regardless of whether the product has substantial 488s commercial, industrial or non-consumer uses, unless such uses represent 488s the only significant mode of use of the product. 488s . 488s "Installation Information" for a User Product means any methods, 488s procedures, authorization keys, or other information required to 488s install 488s and execute modified versions of a covered work in that User Product 488s from 488s a modified version of its Corresponding Source. The information must 488s suffice to ensure that the continued functioning of the modified object 488s code is in no case prevented or interfered with solely because 488s modification has been made. 488s . 488s If you convey an object code work under this section in, or with, or 488s specifically for use in, a User Product, and the conveying occurs as 488s part of a transaction in which the right of possession and use of the 488s User Product is transferred to the recipient in perpetuity or for a 488s fixed term (regardless of how the transaction is characterized), the 488s Corresponding Source conveyed under this section must be accompanied 488s by the Installation Information. But this requirement does not apply 488s if neither you nor any third party retains the ability to install 488s modified object code on the User Product (for example, the work has 488s been installed in ROM). 488s . 488s The requirement to provide Installation Information does not include a 488s requirement to continue to provide support service, warranty, or 488s updates 488s for a work that has been modified or installed by the recipient, or for 488s the User Product in which it has been modified or installed. Access to 488s a 488s network may be denied when the modification itself materially and 488s adversely affects the operation of the network or violates the rules 488s and 488s protocols for communication across the network. 488s . 488s Corresponding Source conveyed, and Installation Information provided, 488s in accord with this section must be in a format that is publicly 488s documented (and with an implementation available to the public in 488s source code form), and must require no special password or key for 488s unpacking, reading or copying. 488s . 488s 7. Additional Terms. 488s . 488s "Additional permissions" are terms that supplement the terms of this 488s License by making exceptions from one or more of its conditions. 488s Additional permissions that are applicable to the entire Program shall 488s be treated as though they were included in this License, to the extent 488s that they are valid under applicable law. If additional permissions 488s apply only to part of the Program, that part may be used separately 488s under those permissions, but the entire Program remains governed by 488s this License without regard to the additional permissions. 488s . 488s When you convey a copy of a covered work, you may at your option 488s remove any additional permissions from that copy, or from any part of 488s it. (Additional permissions may be written to require their own 488s removal in certain cases when you modify the work.) You may place 488s additional permissions on material, added by you to a covered work, 488s for which you have or can give appropriate copyright permission. 488s . 488s Notwithstanding any other provision of this License, for material you 488s add to a covered work, you may (if authorized by the copyright holders 488s of 488s that material) supplement the terms of this License with terms: 488s . 488s a) Disclaiming warranty or limiting liability differently from the 488s terms of sections 15 and 16 of this License; or 488s . 488s b) Requiring preservation of specified reasonable legal notices or 488s author attributions in that material or in the Appropriate Legal 488s Notices displayed by works containing it; or 488s . 488s c) Prohibiting misrepresentation of the origin of that material, or 488s requiring that modified versions of such material be marked in 488s reasonable ways as different from the original version; or 488s . 488s d) Limiting the use for publicity purposes of names of licensors or 488s authors of the material; or 488s . 488s e) Declining to grant rights under trademark law for use of some 488s trade names, trademarks, or service marks; or 488s . 488s f) Requiring indemnification of licensors and authors of that 488s material by anyone who conveys the material (or modified versions 488s of 488s it) with contractual assumptions of liability to the recipient, for 488s any liability that these contractual assumptions directly impose on 488s those licensors and authors. 488s . 488s All other non-permissive additional terms are considered "further 488s restrictions" within the meaning of section 10. If the Program as you 488s received it, or any part of it, contains a notice stating that it is 488s governed by this License along with a term that is a further 488s restriction, you may remove that term. If a license document contains 488s a further restriction but permits relicensing or conveying under this 488s License, you may add to a covered work material governed by the terms 488s of that license document, provided that the further restriction does 488s not survive such relicensing or conveying. 488s . 488s If you add terms to a covered work in accord with this section, you 488s must place, in the relevant source files, a statement of the 488s additional terms that apply to those files, or a notice indicating 488s where to find the applicable terms. 488s . 488s Additional terms, permissive or non-permissive, may be stated in the 488s form of a separately written license, or stated as exceptions; 488s the above requirements apply either way. 488s . 488s 8. Termination. 488s . 488s You may not propagate or modify a covered work except as expressly 488s provided under this License. Any attempt otherwise to propagate or 488s modify it is void, and will automatically terminate your rights under 488s this License (including any patent licenses granted under the third 488s paragraph of section 11). 488s . 488s However, if you cease all violation of this License, then your 488s license from a particular copyright holder is reinstated (a) 488s provisionally, unless and until the copyright holder explicitly and 488s finally terminates your license, and (b) permanently, if the copyright 488s holder fails to notify you of the violation by some reasonable means 488s prior to 60 days after the cessation. 488s . 488s Moreover, your license from a particular copyright holder is 488s reinstated permanently if the copyright holder notifies you of the 488s violation by some reasonable means, this is the first time you have 488s received notice of violation of this License (for any work) from that 488s copyright holder, and you cure the violation prior to 30 days after 488s your receipt of the notice. 488s . 488s Termination of your rights under this section does not terminate the 488s licenses of parties who have received copies or rights from you under 488s this License. If your rights have been terminated and not permanently 488s reinstated, you do not qualify to receive new licenses for the same 488s material under section 10. 488s . 488s 9. Acceptance Not Required for Having Copies. 488s . 488s You are not required to accept this License in order to receive or 488s run a copy of the Program. Ancillary propagation of a covered work 488s occurring solely as a consequence of using peer-to-peer transmission 488s to receive a copy likewise does not require acceptance. However, 488s nothing other than this License grants you permission to propagate or 488s modify any covered work. These actions infringe copyright if you do 488s not accept this License. Therefore, by modifying or propagating a 488s covered work, you indicate your acceptance of this License to do so. 488s . 488s 10. Automatic Licensing of Downstream Recipients. 488s . 488s Each time you convey a covered work, the recipient automatically 488s receives a license from the original licensors, to run, modify and 488s propagate that work, subject to this License. You are not responsible 488s for enforcing compliance by third parties with this License. 488s . 488s An "entity transaction" is a transaction transferring control of an 488s organization, or substantially all assets of one, or subdividing an 488s organization, or merging organizations. If propagation of a covered 488s work results from an entity transaction, each party to that 488s transaction who receives a copy of the work also receives whatever 488s licenses to the work the party's predecessor in interest had or could 488s give under the previous paragraph, plus a right to possession of the 488s Corresponding Source of the work from the predecessor in interest, if 488s the predecessor has it or can get it with reasonable efforts. 488s . 488s You may not impose any further restrictions on the exercise of the 488s rights granted or affirmed under this License. For example, you may 488s not impose a license fee, royalty, or other charge for exercise of 488s rights granted under this License, and you may not initiate litigation 488s (including a cross-claim or counterclaim in a lawsuit) alleging that 488s any patent claim is infringed by making, using, selling, offering for 488s sale, or importing the Program or any portion of it. 488s . 488s 11. Patents. 488s . 488s A "contributor" is a copyright holder who authorizes use under this 488s License of the Program or a work on which the Program is based. The 488s work thus licensed is called the contributor's "contributor version". 488s . 488s A contributor's "essential patent claims" are all patent claims 488s owned or controlled by the contributor, whether already acquired or 488s hereafter acquired, that would be infringed by some manner, permitted 488s by this License, of making, using, or selling its contributor version, 488s but do not include claims that would be infringed only as a 488s consequence of further modification of the contributor version. For 488s purposes of this definition, "control" includes the right to grant 488s patent sublicenses in a manner consistent with the requirements of 488s this License. 488s . 488s Each contributor grants you a non-exclusive, worldwide, royalty-free 488s patent license under the contributor's essential patent claims, to 488s make, use, sell, offer for sale, import and otherwise run, modify and 488s propagate the contents of its contributor version. 488s . 488s In the following three paragraphs, a "patent license" is any express 488s agreement or commitment, however denominated, not to enforce a patent 488s (such as an express permission to practice a patent or covenant not to 488s sue for patent infringement). To "grant" such a patent license to a 488s party means to make such an agreement or commitment not to enforce a 488s patent against the party. 488s . 488s If you convey a covered work, knowingly relying on a patent license, 488s and the Corresponding Source of the work is not available for anyone 488s to copy, free of charge and under the terms of this License, through a 488s publicly available network server or other readily accessible means, 488s then you must either (1) cause the Corresponding Source to be so 488s available, or (2) arrange to deprive yourself of the benefit of the 488s patent license for this particular work, or (3) arrange, in a manner 488s consistent with the requirements of this License, to extend the patent 488s license to downstream recipients. "Knowingly relying" means you have 488s actual knowledge that, but for the patent license, your conveying the 488s covered work in a country, or your recipient's use of the covered work 488s in a country, would infringe one or more identifiable patents in that 488s country that you have reason to believe are valid. 488s . 488s If, pursuant to or in connection with a single transaction or 488s arrangement, you convey, or propagate by procuring conveyance of, a 488s covered work, and grant a patent license to some of the parties 488s receiving the covered work authorizing them to use, propagate, modify 488s or convey a specific copy of the covered work, then the patent license 488s you grant is automatically extended to all recipients of the covered 488s work and works based on it. 488s . 488s A patent license is "discriminatory" if it does not include within 488s the scope of its coverage, prohibits the exercise of, or is 488s conditioned on the non-exercise of one or more of the rights that are 488s specifically granted under this License. You may not convey a covered 488s work if you are a party to an arrangement with a third party that is 488s in the business of distributing software, under which you make payment 488s to the third party based on the extent of your activity of conveying 488s the work, and under which the third party grants, to any of the 488s parties who would receive the covered work from you, a discriminatory 488s patent license (a) in connection with copies of the covered work 488s conveyed by you (or copies made from those copies), or (b) primarily 488s for and in connection with specific products or compilations that 488s contain the covered work, unless you entered into that arrangement, 488s or that patent license was granted, prior to 28 March 2007. 488s . 488s Nothing in this License shall be construed as excluding or limiting 488s any implied license or other defenses to infringement that may 488s otherwise be available to you under applicable patent law. 488s . 488s 12. No Surrender of Others' Freedom. 488s . 488s If conditions are imposed on you (whether by court order, agreement or 488s otherwise) that contradict the conditions of this License, they do not 488s excuse you from the conditions of this License. If you cannot convey a 488s covered work so as to satisfy simultaneously your obligations under 488s this 488s License and any other pertinent obligations, then as a consequence you 488s may 488s not convey it at all. For example, if you agree to terms that obligate 488s you 488s to collect a royalty for further conveying from those to whom you 488s convey 488s the Program, the only way you could satisfy both those terms and this 488s License would be to refrain entirely from conveying the Program. 488s . 488s 13. Remote Network Interaction; Use with the GNU General Public 488s License. 488s . 488s Notwithstanding any other provision of this License, if you modify the 488s Program, your modified version must prominently offer all users 488s interacting with it remotely through a computer network (if your 488s version 488s supports such interaction) an opportunity to receive the Corresponding 488s Source of your version by providing access to the Corresponding Source 488s from a network server at no charge, through some standard or customary 488s means of facilitating copying of software. This Corresponding Source 488s shall include the Corresponding Source for any work covered by version 488s 3 488s of the GNU General Public License that is incorporated pursuant to the 488s following paragraph. 488s . 488s Notwithstanding any other provision of this License, you have 488s permission to link or combine any covered work with a work licensed 488s under version 3 of the GNU General Public License into a single 488s combined work, and to convey the resulting work. The terms of this 488s License will continue to apply to the part which is the covered work, 488s but the work with which it is combined will remain governed by version 488s 3 of the GNU General Public License. 488s . 488s 14. Revised Versions of this License. 488s . 488s The Free Software Foundation may publish revised and/or new versions of 488s the GNU Affero General Public License from time to time. Such new 488s versions 488s will be similar in spirit to the present version, but may differ in 488s detail to 488s address new problems or concerns. 488s . 488s Each version is given a distinguishing version number. If the 488s Program specifies that a certain numbered version of the GNU Affero 488s General 488s Public License "or any later version" applies to it, you have the 488s option of following the terms and conditions either of that numbered 488s version or of any later version published by the Free Software 488s Foundation. If the Program does not specify a version number of the 488s GNU Affero General Public License, you may choose any version ever 488s published 488s by the Free Software Foundation. 488s . 488s If the Program specifies that a proxy can decide which future 488s versions of the GNU Affero General Public License can be used, that 488s proxy's 488s public statement of acceptance of a version permanently authorizes you 488s to choose that version for the Program. 488s . 488s Later license versions may give you additional or different 488s permissions. However, no additional obligations are imposed on any 488s author or copyright holder as a result of your choosing to follow a 488s later version. 488s . 488s 15. Disclaimer of Warranty. 488s . 488s THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 488s APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 488s HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT 488s WARRANTY 488s OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED 488s TO, 488s THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 488s PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 488s PROGRAM 488s IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST 488s OF 488s ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 488s . 488s 16. Limitation of Liability. 488s . 488s IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 488s WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR 488s CONVEYS 488s THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING 488s ANY 488s GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF 488s THE 488s USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS 488s OF 488s DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR 488s THIRD 488s PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 488s PROGRAMS), 488s EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY 488s OF 488s SUCH DAMAGES. 488s . 488s 17. Interpretation of Sections 15 and 16. 488s . 488s If the disclaimer of warranty and limitation of liability provided 488s above cannot be given local legal effect according to their terms, 488s reviewing courts shall apply local law that most closely approximates 488s an absolute waiver of all civil liability in connection with the 488s Program, unless a warranty or assumption of liability accompanies a 488s copy of the Program in return for a fee. 488s . 488s END OF TERMS AND CONDITIONS 488s . 488s How to Apply These Terms to Your New Programs 488s . 488s If you develop a new program, and you want it to be of the greatest 488s possible use to the public, the best way to achieve this is to make it 488s free software which everyone can redistribute and change under these 488s terms. 488s . 488s To do so, attach the following notices to the program. It is safest 488s to attach them to the start of each source file to most effectively 488s state the exclusion of warranty; and each file should have at least 488s the "copyright" line and a pointer to where the full notice is found. 488s . 488s 488s Copyright (C) 488s . 488s This program is free software: you can redistribute it and/or 488s modify 488s it under the terms of the GNU Affero General Public License as 488s published by 488s the Free Software Foundation, either version 3 of the License, or 488s (at your option) any later version. 488s . 488s This program is distributed in the hope that it will be useful, 488s but WITHOUT ANY WARRANTY; without even the implied warranty of 488s MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 488s GNU Affero General Public License for more details. 488s . 488s You should have received a copy of the GNU Affero General Public 488s License 488s along with this program. If not, see 488s . 488s . 488s Also add information on how to contact you by electronic and paper 488s mail. 488s . 488s If your software can interact with users remotely through a computer 488s network, you should also make sure that it provides a way for users to 488s get its source. For example, if your program is a web application, its 488s interface could display a "Source" link that leads users to an archive 488s of the code. There are many ways you could offer source, and different 488s solutions will be better for different programs; see section 13 for the 488s specific requirements. 488s . 488s You should also get your employer (if you work as a programmer) or 488s school, 488s if any, to sign a "copyright disclaimer" for the program, if necessary. 488s For more information on this, and how to apply and follow the GNU AGPL, 488s see 488s . 488s To render images inline, you need either chafa or timg. 488s Before Chafa 1.10, you also need python-pil 488s # 5.2 Main functionality 488s opnk index.gmi 489s index.gmi (7 items) (local file) 489s OFFPUNK - An Offline-First Browser for the Smolnet 489s 489s Offpunk is a command-line browser and feed reader dedicated to browsing 489s the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it 489s is optimised to be used offline with rare connections but works as well 489s when connected. 489s 489s Offpunk is optimised for reading and supports readability mode, 489s displaying pictures, subscribing to pages or RSS feeds, managing complex 489s lists of bookmarks. Its integrated help and easy commands make it a 489s perfect tool for command-line novices while power-users will be amazed 489s by its shell integration. 489s 489s Offpunk is written in Python 3 by Ploum. It aims to be portable and 489s minimise dependencies, making them optional. It supports 489s http/https/gopher/gemini/spartan on both IPv4 and IPv6. 489s 489s 489s [1] Installing Offpunk and dependencies 489s [2] First steps 489s [3] Configuring Offpunk 489s [4] Using Offpunk offline 489s [5] Lists and subscriptions 489s [6] Shell and OS integrations 489s [7] Roadmap & Contributions 489s 489s  489s To render images inline, you need either chafa or timg. 489s Before Chafa 1.10, you also need python-pil 490s autopkgtest [21:23:17]: test run-commands: -----------------------] 491s run-commands PASS 491s autopkgtest [21:23:18]: test run-commands: - - - - - - - - - - results - - - - - - - - - - 492s autopkgtest [21:23:19]: test run-commands: preparing testbed 494s Reading package lists... 494s Building dependency tree... 494s Reading state information... 495s Starting pkgProblemResolver with broken count: 0 495s Starting 2 pkgProblemResolver with broken count: 0 495s Done 496s The following additional packages will be installed: 496s libxslt1.1 python3-bs4 python3-cssselect python3-feedparser python3-lxml 496s python3-lxml-html-clean python3-readability python3-setproctitle 496s python3-sgmllib3k python3-soupsieve xdg-utils 496s Suggested packages: 496s python-lxml-doc 496s Recommended packages: 496s python3-html5lib libfile-mimeinfo-perl libnet-dbus-perl libx11-protocol-perl 496s x11-utils x11-xserver-utils 496s The following NEW packages will be installed: 496s autopkgtest-satdep libxslt1.1 python3-bs4 python3-cssselect 496s python3-feedparser python3-lxml python3-lxml-html-clean python3-readability 496s python3-setproctitle python3-sgmllib3k python3-soupsieve xdg-utils 496s 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded. 496s Need to get 1668 kB/1669 kB of archives. 496s After this operation, 7082 kB of additional disk space will be used. 496s Get:1 /tmp/autopkgtest.cIZ7A8/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [780 B] 496s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 libxslt1.1 arm64 1.1.39-0exp1build1 [166 kB] 496s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-soupsieve all 2.5-1 [33.0 kB] 496s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-bs4 all 4.12.3-1 [109 kB] 496s Get:5 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-sgmllib3k all 1.0.0-4 [8594 B] 496s Get:6 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-feedparser all 6.0.11-1 [44.9 kB] 496s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-lxml arm64 5.2.1-1 [1179 kB] 496s Get:8 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-lxml-html-clean all 0.1.1-1 [12.0 kB] 496s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-cssselect all 1.2.0-4 [18.6 kB] 496s Get:10 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-readability all 0.8.1+dfsg1-4 [15.8 kB] 496s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 xdg-utils all 1.1.3-4.1ubuntu3 [62.0 kB] 496s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-setproctitle arm64 1.3.3-1build2 [18.6 kB] 498s Fetched 1668 kB in 1s (1986 kB/s) 498s Selecting previously unselected package libxslt1.1:arm64. 498s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78344 files and directories currently installed.) 498s Preparing to unpack .../00-libxslt1.1_1.1.39-0exp1build1_arm64.deb ... 498s Unpacking libxslt1.1:arm64 (1.1.39-0exp1build1) ... 498s Selecting previously unselected package python3-soupsieve. 498s Preparing to unpack .../01-python3-soupsieve_2.5-1_all.deb ... 498s Unpacking python3-soupsieve (2.5-1) ... 498s Selecting previously unselected package python3-bs4. 499s Preparing to unpack .../02-python3-bs4_4.12.3-1_all.deb ... 499s Unpacking python3-bs4 (4.12.3-1) ... 499s Selecting previously unselected package python3-sgmllib3k. 500s Preparing to unpack .../03-python3-sgmllib3k_1.0.0-4_all.deb ... 500s Unpacking python3-sgmllib3k (1.0.0-4) ... 500s Selecting previously unselected package python3-feedparser. 500s Preparing to unpack .../04-python3-feedparser_6.0.11-1_all.deb ... 500s Unpacking python3-feedparser (6.0.11-1) ... 500s Selecting previously unselected package python3-lxml:arm64. 501s Preparing to unpack .../05-python3-lxml_5.2.1-1_arm64.deb ... 501s Unpacking python3-lxml:arm64 (5.2.1-1) ... 501s Selecting previously unselected package python3-lxml-html-clean. 501s Preparing to unpack .../06-python3-lxml-html-clean_0.1.1-1_all.deb ... 501s Unpacking python3-lxml-html-clean (0.1.1-1) ... 501s Selecting previously unselected package python3-cssselect. 502s Preparing to unpack .../07-python3-cssselect_1.2.0-4_all.deb ... 502s Unpacking python3-cssselect (1.2.0-4) ... 502s Selecting previously unselected package python3-readability. 502s Preparing to unpack .../08-python3-readability_0.8.1+dfsg1-4_all.deb ... 502s Unpacking python3-readability (0.8.1+dfsg1-4) ... 502s Selecting previously unselected package xdg-utils. 503s Preparing to unpack .../09-xdg-utils_1.1.3-4.1ubuntu3_all.deb ... 503s Unpacking xdg-utils (1.1.3-4.1ubuntu3) ... 503s Selecting previously unselected package python3-setproctitle:arm64. 503s Preparing to unpack .../10-python3-setproctitle_1.3.3-1build2_arm64.deb ... 503s Unpacking python3-setproctitle:arm64 (1.3.3-1build2) ... 503s Selecting previously unselected package autopkgtest-satdep. 503s Preparing to unpack .../11-2-autopkgtest-satdep.deb ... 503s Unpacking autopkgtest-satdep (0) ... 503s Setting up python3-sgmllib3k (1.0.0-4) ... 504s Setting up python3-setproctitle:arm64 (1.3.3-1build2) ... 504s Setting up libxslt1.1:arm64 (1.1.39-0exp1build1) ... 504s Setting up python3-cssselect (1.2.0-4) ... 504s Setting up python3-soupsieve (2.5-1) ... 504s Setting up xdg-utils (1.1.3-4.1ubuntu3) ... 505s update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode 505s Setting up python3-feedparser (6.0.11-1) ... 505s Setting up python3-bs4 (4.12.3-1) ... 505s Setting up python3-lxml:arm64 (5.2.1-1) ... 506s Setting up python3-lxml-html-clean (0.1.1-1) ... 506s Setting up python3-readability (0.8.1+dfsg1-4) ... 506s Setting up autopkgtest-satdep (0) ... 506s Processing triggers for man-db (2.12.1-2) ... 507s Processing triggers for libc-bin (2.39-0ubuntu9) ... 512s (Reading database ... 78680 files and directories currently installed.) 512s Removing autopkgtest-satdep (0) ... 513s autopkgtest [21:23:40]: test run-commands: [----------------------- 514s 514s # 0. Basic arguments 514s offpunk --version 516s To render images inline, you need either chafa or timg. 516s Before Chafa 1.10, you also need python-pil 516s Offpunk 2.2 516s offpunk --help 516s To render images inline, you need either chafa or timg. 516s Before Chafa 1.10, you also need python-pil 516s usage: offpunk [-h] [--bookmarks] [--config-file FILE] [--sync] [--assume-yes] 516s [--disable-http] [--fetch-later] [--depth DEPTH] 516s [--images-mode IMAGES_MODE] [--cache-validity CACHE_VALIDITY] 516s [--version] [--features] 516s [URL ...] 516s 516s Offline-First Gemini/Web/Gopher/RSS reader and browser 516s 516s positional arguments: 516s URL Arguments should be URL to be fetched or, if --sync is 516s used, lists 516s 516s options: 516s -h, --help show this help message and exit 516s --bookmarks start with your list of bookmarks 516s --config-file FILE use this particular config file instead of default 516s --sync run non-interactively to build cache by exploring 516s lists passed as argument. Without argument, all lists 516s are fetched. 516s --assume-yes assume-yes when asked questions about 516s certificates/redirections during sync (lower security) 516s --disable-http do not try to get http(s) links (but already cached 516s will be displayed) 516s --fetch-later run non-interactively with an URL as argument to fetch 516s it later 516s --depth DEPTH depth of the cache to build. Default is 1. More is 516s crazy. Use at your own risks! 516s --images-mode IMAGES_MODE 516s the mode to use to choose which images to download in 516s a HTML page. one of (None, readable, full). Warning: 516s full will slowdown your sync. 516s --cache-validity CACHE_VALIDITY 516s duration for which a cache is valid before sync 516s (seconds) 516s --version display version information and quit 516s --features display available features and dependancies then quit 516s offpunk --features 517s To render images inline, you need either chafa or timg. 517s Before Chafa 1.10, you also need python-pil 517s Upgrading cache to version 1: migrating index.txt to gophermap 517s Offpunk 2.2 517s =========== 517s Highly recommended: 517s - python-cryptography : Installed 517s - xdg-open : Installed 517s 517s Web browsing: 517s - python-requests : Installed 517s - python-feedparser : Installed 517s - python-bs4 : Installed 517s - python-readability : Installed 517s - timg 1.3.2+ : Not Installed 517s - chafa : Not Installed 517s - python-pil : Not Installed 517s 517s Nice to have: 517s - python-setproctitle : Installed 517s - xsel : Not Installed 517s 517s Features : 517s - Render images (python-pil, chafa or timg) : Not Installed 517s - Render HTML (bs4, readability) : Installed 517s - Render Atom/RSS feeds (feedparser) : Installed 517s - Connect to http/https (requests) : Installed 517s - Detect text encoding (python-chardet) : Installed 517s - copy to/from clipboard (xsel) : Not Installed 517s - restore last position (less 572+) : Installed 517s 517s Config directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 517s User Data directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 517s Cache directoy : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.cache/offpunk/ 517s echo quit | offpunk --bookmarks 517s bookmarks (0 items) (local file) 517s bookmarks 517s To render images inline, you need either chafa or timg. 517s Before Chafa 1.10, you also need python-pil 517s Creating config directory /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 517s Creating config directory /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 517s Welcome to Offpunk! 517s Type `help` to get the list of available command. 517s ON> You can close your screen! 518s 518s # 1. Basic commands 518s cat << END | offpunk 518s version 518s help 518s help abbrevs 518s help add 518s help back 518s help blackbox 518s help bookmarks 518s help cat 518s help cert 518s help copy 518s help find 518s help forward 518s help go 518s help gus 518s help handler 518s help help 518s help history 518s help info 518s help list 518s help ls 518s help mark 518s help move 518s help offline 518s help online 518s help open 518s help redirect 518s help reload 518s help root 518s help save 518s help set 518s help shell echo test 518s help subscribe 518s help sync 518s help theme 518s help tour 518s help url 518s help version 518s help wikipedia 518s help exit 518s help quit 518s quit 518s END 518s To render images inline, you need either chafa or timg. 518s Before Chafa 1.10, you also need python-pil 518s Welcome to Offpunk! 518s Type `help` to get the list of available command. 518s ON> Offpunk 2.2 518s =========== 518s Highly recommended: 518s - python-cryptography : Installed 518s - xdg-open : Installed 518s 518s Web browsing: 518s - python-requests : Installed 518s - python-feedparser : Installed 518s - python-bs4 : Installed 518s - python-readability : Installed 518s - timg 1.3.2+ : Not Installed 518s - chafa : Not Installed 518s - python-pil : Not Installed 518s 518s Nice to have: 518s - python-setproctitle : Installed 518s - xsel : Not Installed 518s 518s Features : 518s - Render images (python-pil, chafa or timg) : Not Installed 518s - Render HTML (bs4, readability) : Installed 518s - Render Atom/RSS feeds (feedparser) : Installed 518s - Connect to http/https (requests) : Installed 518s - Detect text encoding (python-chardet) : Installed 518s - copy to/from clipboard (xsel) : Not Installed 518s - restore last position (less 572+) : Installed 518s 518s Config directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 518s User Data directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 518s Cache directoy : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.cache/offpunk/ 518s ON> 518s Documented commands (type help ): 518s ======================================== 518s abbrevs cat go info offline reload shell up 518s add copy gus list online root subscribe url 518s archive exit handler ls open save sync version 518s back find help mark quit search theme view 518s bookmarks forward history move redirect set tour wikipedia 518s 518s ON> Print all Offpunk command abbreviations. 518s ON> Add the current URL to the list specied as argument. 518s If no argument given, URL is added to Bookmarks. 518s ON> Go back to the previous gemini item. 518s ON> *** No help on blackbox 518s ON> Show or access the bookmarks menu. 518s 'bookmarks' shows all bookmarks. 518s 'bookmarks n' navigates immediately to item n in the bookmark menu. 518s Bookmarks are stored using the 'add' command. 518s ON> Run most recently visited item through "cat" command. 518s ON> *** No help on cert 518s ON> Copy the content of the last visited page as gemtext/html in the clipboard. 518s Use with "url" as argument to only copy the adress. 518s Use with "raw" to copy ANSI content as seen in your terminal (with colour codes). 518s Use with "cache" to copy the path of the cached content. 518s Use with "title" to copy the title of the page. 518s Use with "link" to copy a link in the gemtext format to that page with the title. 518s 518s ON> Find in current page by displaying only relevant lines (grep). 518s ON> Go forward to the next gemini item. 518s ON> Go to a gemini URL or marked item. 518s ON> Submit a search query to the geminispace.info search engine. 518s ON> View or set handler commands for different MIME types. 518s ON> ALARM! Recursion detected! ALARM! Prepare to eject! 518s ON> Display history. 518s ON> Display information about current page. 518s ON> Manage list of bookmarked pages. 518s - list : display available lists 518s - list $LIST : display pages in $LIST 518s - list create $NEWLIST : create a new list 518s - list edit $LIST : edit the list 518s - list subscribe $LIST : during sync, add new links found in listed pages to tour 518s - list freeze $LIST : don’t update pages in list during sync if a cache already exists 518s - list normal $LIST : update pages in list during sync but don’t add anything to tour 518s - list delete $LIST : delete a list permanently (a confirmation is required) 518s - list help : print this help 518s See also : 518s - add $LIST (to add current page to $LIST or, by default, to bookmarks) 518s - move $LIST (to add current page to list while removing from all others) 518s - archive (to remove current page from all lists while adding to archives) 518s 518s There’s no "delete" on purpose. The use of "archive" is recommended. 518s 518s The following lists cannot be removed or frozen but can be edited with "list edit" 518s - list archives : contains last 200 archived URLs 518s - history : contains last 200 visisted URLs 518s - to_fetch : contains URLs that will be fetch during the next sync 518s - tour : contains the next URLs to visit during a tour (see "help tour") 518s 518s 518s ON> List contents of current index. 518s Use 'ls -l' to see URLs. 518s ON> Mark the current item with a single letter. This letter can then 518s be passed to the 'go' command to return to the current item later. 518s Think of it like marks in vi: 'mark a'='ma' and 'go a'=''a'. 518s Marks are temporary until shutdown (not saved to disk). 518s ON> move LIST will add the current page to the list LIST. 518s With a major twist: current page will be removed from all other lists. 518s If current page was not in a list, this command is similar to `add LIST`. 518s ON> Use Offpunk offline by only accessing cached content 518s ON> Use Offpunk online with a direct connection 518s ON> Open current item with the configured handler or xdg-open. 518s Uses "open url" to open current URL in a browser. 518s see "handler" command to set your handler. 518s ON> Display and manage the list of redirected URLs. This features is mostly useful to use privacy-friendly frontends for popular websites. 518s ON> Reload the current URL. 518s ON> Go to root selector of the server hosting current item. 518s ON> Save an item to the filesystem. 518s 'save n filename' saves menu item n to the specified filename. 518s 'save filename' saves the last viewed item to the specified filename. 518s 'save n' saves menu item n to an automagic filename. 518s ON> View or set various options. 518s ON> *** No help on shell echo test 518s ON> Subscribe to current page by saving it in the "subscribed" list. 518s If a new link is found in the page during a --sync, the new link is automatically 518s fetched and added to your next tour. 518s To unsubscribe, remove the page from the "subscribed" list. 518s ON> Synchronize all bookmarks lists and URLs from the to_fetch list. 518s - New elements in pages in subscribed lists will be added to tour 518s - Elements in list to_fetch will be retrieved and added to tour 518s - Normal lists will be synchronized and updated 518s - Frozen lists will be fetched only if not present. 518s 518s Before a sync, you can edit the list of URLs that will be fetched with the 518s following command: "list edit to_fetch" 518s 518s Argument : duration of cache validity (in seconds). 518s ON> Change the colors of your rendered text. 518s 518s "theme ELEMENT COLOR" 518s 518s ELEMENT is one of: window_title, window_subtitle, title, 518s subtitle,subsubtitle,link,oneline_link,new_link,image_link,preformatted,blockquote. 518s 518s COLOR is one or many (separated by space) of: bold, faint, italic, underline, black, 518s red, green, yellow, blue, purple, cyan, white. 518s 518s Each color can alternatively be prefaced with "bright_". 518s ON> Add index items as waypoints on a tour, which is basically a FIFO 518s queue of gemini items. 518s 518s `tour` or `t` alone brings you to the next item in your tour. 518s Items can be added with `tour 1 2 3 4` or ranges like `tour 1-4`. 518s All items in current menu can be added with `tour *`. 518s All items in $LIST can be added with `tour $LIST`. 518s Current item can be added back to the end of the tour with `tour .`. 518s Current tour can be listed with `tour ls` and scrubbed with `tour clear`. 518s ON> Print URL of most recently visited item. 518s ON> Display version and system information. 518s ON> Search on wikipedia using the configured Gemini interface. 518s The first word should be the two letters code for the language. 518s Exemple : "wikipedia en Gemini protocol" 518s But you can also use abbreviations to go faster: 518s "wen Gemini protocol". (your abbreviation might be missing, report the bug) 518s The interface used can be modified with the command: 518s "set wikipedia URL" where URL should contains two "%s", the first 518s one used for the language, the second for the search string. 518s ON> Exit Offpunk. 518s ON> Exit Offpunk. 518s ON> You can close your screen! 518s 518s # cert calls a submenu which expects then a blank line to get outside. 518s # find will call the pager 518s # gus and search will launch the client to the search engine. 518s # reload will call the pager 518s # wikipedia will require test to have Internet access 518s cat << END | offpunk 518s abbrevs 518s add 518s archive 518s back 518s blackbox 518s bookmarks 518s cat 518s cert 518s 518s copy 518s forward 518s go 518s handler 518s history 518s info 518s list 518s ls 518s mark 518s move 518s offline 518s online 518s open 518s redirect 518s root 518s save 518s set 518s shell echo test 518s subscribe 518s 518s sync 518s tour 518s theme 518s url 518s exit 518s END 519s To render images inline, you need either chafa or timg. 519s Before Chafa 1.10, you also need python-pil 519s Welcome to Offpunk! 519s Type `help` to get the list of available command. 519s ON> 519s Command Abbreviations: 519s ====================== 519s .. up 519s a add 519s b back 519s bb blackbox 519s bm bookmarks 519s book bookmarks 519s cp copy 519s f forward 519s g go 519s h history 519s hist history 519s l view 519s less view 519s man help 519s mv move 519s n next 519s off offline 519s on online 519s p previous 519s prev previous 519s q quit 519s r reload 519s s save 519s se search 519s / find 519s t tour 519s u up 519s v view 519s w wikipedia 519s wen wikipedia en 519s wfr wikipedia fr 519s wes wikipedia es 519s 519s ON> You need to 'go' somewhere, first 519s ON> You need to 'go' somewhere, first 519s ON> ON> What? 519s ON> bookmarks (0 items) (local file) 519s bookmarks 519s ON> bookmarks (0 items) (local file) 519s bookmarks 519s ON> What? 519s ON> ON> Please install xsel to use copy 519s ON> ON> Go where? (hint: install xsel to go to copied URLs) 519s ON> ON> history (1 items) (local file) 519s history 519s [1] bookmarks (bookmarks), visited on Thu Jun 27 21:23:44 2024 519s  519s ON> history (history) 519s 519s URL : list:///history 519s Mime : text/gemini 519s Cache : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists/history.gmi 519s Renderer : t.GemtextRenderer 519s 519s Page is not save in any list 519s ON>  (2 items) (local file) 519s 519s Bookmarks Lists (updated during sync) 519s [1] bookmarks (0 items) 519s 519s System Lists 519s [2] history (1 items) 519s  519s ON> [1] list:///bookmarks 519s [2] list:///history 519s ON> ON> LIST argument is required as the target for your move 519s ON> Offpunk is now offline and will only access cached content 519s OFF> Offpunk is online and will access the network 520s ON> /usr/bin/xdg-open: 882: www-browser: not found 520s /usr/bin/xdg-open: 882: links2: not found 520s /usr/bin/xdg-open: 882: elinks: not found 520s /usr/bin/xdg-open: 882: links: not found 520s /usr/bin/xdg-open: 882: lynx: not found 520s /usr/bin/xdg-open: 882: w3m: not found 520s xdg-open: no method available for opening '/tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists' 520s ON> Current redirections: 520s -------------------- 520s *twitter.com -> nitter.net 520s youtube.com -> yewtu.be 520s youtu.be -> yewtu.be 520s *reddit.com -> teddit.net 520s *medium.com -> scribe.rip 520s *fbcdn.net -> blocked 520s *advertise.newrepublic.com -> blocked 520s *advertising.amazon.com -> blocked 520s *licdn.com -> blocked 520s *google-webfonts-helper.herokuapp.com -> blocked 520s *facebook.com -> blocked 520s *ads.yahoo.com -> blocked 520s *tiktok.com -> blocked 520s *google-analytics.com -> blocked 520s *advertising.theguardian.com -> blocked 520s *firebase.google.com -> blocked 520s *linkedin.com -> blocked 520s *facebook.net -> blocked 520s *google-health-ads.blogspot.com -> blocked 520s *admanager.google.com -> blocked 520s *doubleclick.net -> blocked 520s 520s To add new, use "redirect origine.com destination.org" 520s To remove a redirect, use "redirect origine.com NONE" 520s To completely block a website, use "redirect origine.com BLOCK" 520s To block also subdomains, prefix with *: "redirect *origine.com BLOCK" 520s ON> list:/ does not exist 520s ON> Can’t save /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists because it’s a folder, not a file 520s ON> accept_bad_ssl_certificates False 520s archives_size 200 520s auto_follow_redirects True 520s beta False 520s debug False 520s default_protocol gemini 520s download_images_first True 520s editor None 520s history_size 200 520s images_mode readable 520s max_size_download 10 520s redirects True 520s search gemini://kennedy.gemi.dev/search?%s 520s short_timeout 5 520s timeout 600 520s tls_mode tofu 520s width 72 520s wikipedia gemini://vault.transjovian.org:1965/search/%s/%s 520s ON> test 520s ON> No feed detected. You can still watch the page : 520s [1] list:/// [Directory] 520s 520s Which feed do you want to subscribe ? > No subscription registered 520s ON> * * * 0 to fetch in bookmarks * * * 520s * * * 0 to fetch in tour * * * 520s End of sync 520s ON> End of tour. 520s ON> window_title set to ['red', 'bold'] 520s window_subtitle set to ['red', 'faint'] 520s title set to ['blue', 'bold', 'underline'] 520s subtitle set to ['blue'] 520s subsubtitle set to ['blue', 'faint'] 520s link set to ['blue', 'faint'] 520s new_link set to ['bold'] 520s oneline_link set to [] 520s image_link set to ['yellow', 'faint'] 520s preformatted set to ['faint'] 520s blockquote set to ['italic'] 520s prompt_on set to ['green'] 520s prompt_off set to ['green'] 520s ON> list:/// 520s ON> You can close your screen! 521s 521s # 2. Checks against gemini file 521s cat << END | offpunk 521s go file://$PWD/index.gmi 521s quit 521s END 522s To render images inline, you need either chafa or timg. 522s Before Chafa 1.10, you also need python-pil 522s Welcome to Offpunk! 522s Type `help` to get the list of available command. 522s ON> index.gmi (7 items) (local file) 522s OFFPUNK - An Offline-First Browser for the Smolnet 522s 522s Offpunk is a command-line browser and feed reader dedicated to browsing 522s the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it 522s is optimised to be used offline with rare connections but works as well 522s when connected. 522s 522s Offpunk is optimised for reading and supports readability mode, 522s displaying pictures, subscribing to pages or RSS feeds, managing complex 522s lists of bookmarks. Its integrated help and easy commands make it a 522s perfect tool for command-line novices while power-users will be amazed 522s by its shell integration. 522s 522s Offpunk is written in Python 3 by Ploum. It aims to be portable and 522s minimise dependencies, making them optional. It supports 522s http/https/gopher/gemini/spartan on both IPv4 and IPv6. 522s 522s 522s [1] Installing Offpunk and dependencies 522s [2] First steps 522s [3] Configuring Offpunk 522s [4] Using Offpunk offline 522s [5] Lists and subscriptions 522s [6] Shell and OS integrations 522s [7] Roadmap & Contributions 522s 522s  522s ON> You can close your screen! 522s 522s # 3. Test netcache command 522s # 3.0 Basic 522s netcache --help 522s To render images inline, you need either chafa or timg. 522s Before Chafa 1.10, you also need python-pil 522s usage: netcache [-h] [--path] [--offline] [--max-size MAX_SIZE] 522s [--timeout TIMEOUT] [--cache-validity CACHE_VALIDITY] 522s [URL ...] 522s 522s Netcache is a command-line tool to retrieve, cache and access networked 522s content. By default, netcache will returns a cached version of a given URL, 522s downloading it only if not existing. A validity duration, in seconds, can also 522s be given so that netcache downloads the content only if the existing cache is 522s older than the validity. 522s 522s positional arguments: 522s URL download URL and returns the content or the path to a 522s cached version 522s 522s options: 522s -h, --help show this help message and exit 522s --path return path to the cache instead of the content of the 522s cache 522s --offline Do not attempt to download, return cached version or 522s error 522s --max-size MAX_SIZE Cancel download of items above that size (value in 522s Mb). 522s --timeout TIMEOUT Time to wait before cancelling connection (in second). 522s --cache-validity CACHE_VALIDITY 522s maximum age, in second, of the cached version before 522s redownloading a new version 522s # 3.1 Various suboptions 522s OUT="$(netcache --path "file://$PWD/index.gmi")" 523s echo "$OUT" | grep -q "$PWD/index.gmi" 523s # (Note that the file local do not feed the user's cache.) 523s # 3.2 Main functionality 523s netcache "file://$PWD/index.gmi" 523s To render images inline, you need either chafa or timg. 523s Before Chafa 1.10, you also need python-pil 523s # OFFPUNK - An Offline-First Browser for the Smolnet 523s 523s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 523s 523s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 523s 523s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 523s 523s 523s => install.gmi Installing Offpunk and dependencies 523s => tutorial.gmi First steps 523s => config.gmi Configuring Offpunk 523s => offline.gmi Using Offpunk offline 523s => lists.gmi Lists and subscriptions 523s => shell.gmi Shell and OS integrations 523s => dev.gmi Roadmap & Contributions 523s 523s 523s netcache --offline "file://$PWD/index.gmi" 524s To render images inline, you need either chafa or timg. 524s Before Chafa 1.10, you also need python-pil 524s # OFFPUNK - An Offline-First Browser for the Smolnet 524s 524s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 524s 524s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 524s 524s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 524s 524s 524s => install.gmi Installing Offpunk and dependencies 524s => tutorial.gmi First steps 524s => config.gmi Configuring Offpunk 524s => offline.gmi Using Offpunk offline 524s => lists.gmi Lists and subscriptions 524s => shell.gmi Shell and OS integrations 524s => dev.gmi Roadmap & Contributions 524s 524s 524s netcache --max-size 1 "file://$PWD/index.gmi" 524s To render images inline, you need either chafa or timg. 524s Before Chafa 1.10, you also need python-pil 524s # OFFPUNK - An Offline-First Browser for the Smolnet 524s 524s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 524s 524s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 524s 524s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 524s 524s 524s => install.gmi Installing Offpunk and dependencies 524s => tutorial.gmi First steps 524s => config.gmi Configuring Offpunk 524s => offline.gmi Using Offpunk offline 524s => lists.gmi Lists and subscriptions 524s => shell.gmi Shell and OS integrations 524s => dev.gmi Roadmap & Contributions 524s 524s 525s # Note that testing the --timeout looks to need Internet, so we'll skip this 525s # option for now. 525s 525s # 4. Test ansicat 525s # 4.0 Basic 525s ansicat --help 525s To render images inline, you need either chafa or timg. 525s Before Chafa 1.10, you also need python-pil 525s usage: ansicat [-h] 525s [--format {auto,gemtext,html,feed,gopher,image,folder,text,plaintext}] 525s [--mime MIME] [--url [URL ...]] [--mode MODE] 525s [INPUT ...] 525s 525s ansicat is a terminal rendering tool that will render multiple formats (HTML, 525s Gemtext, RSS, Gophermap, Image) into ANSI text and colors. When used on a 525s file, ansicat will try to autodetect the format. When used with standard 525s input, the format must be manually specified. If the content contains links, 525s the original URL of the content can be specified in order to correctly modify 525s relatives links. 525s 525s positional arguments: 525s INPUT Path to the text to render (default to stdin) 525s 525s options: 525s -h, --help show this help message and exit 525s --format {auto,gemtext,html,feed,gopher,image,folder,text,plaintext} 525s Renderer to use. Available: auto, gemtext, html, feed, 525s gopher, image, folder, plaintext 525s --mime MIME Mime of the content to parse 525s --url [URL ...] Original URL of the content 525s --mode MODE Which mode should be used to render: normal (default), 525s full or source. With HTML, the normal mode try to 525s extract the article. 525s # 4.1 Test some ansicat formats and options 525s # WARNING: there is something about autopkgtest environment that causes the two 525s # below commands to crash, but running them by hand works perfectly. 525s # This may indicate fragility in the tool, but it is curious that the 525s # 4.2 section below gave no difficulty: if this crashes too, then it 525s # may be reasonable to skip it as well. 525s #ansicat --format plaintext index.gmi 525s #ansicat --mime text/plain index.gmi 525s # 4.2 Main functionality 525s ansicat --url "file://$PWD/index.gmi" index.gmi 526s To render images inline, you need either chafa or timg. 526s Before Chafa 1.10, you also need python-pil 526s Format or mime should be specified when running with stdin 526s 526s # 5. Test opnk 526s # 5.0 Basic 526s opnk --help 526s To render images inline, you need either chafa or timg. 526s Before Chafa 1.10, you also need python-pil 526s usage: opnk [-h] [--mode MODE] [--cache-validity CACHE_VALIDITY] [INPUT ...] 526s 526s opnk is an universal open command tool that will try to display any file in 526s the pager less after rendering its content with ansicat. If that fails, opnk 526s will fallback to opening the file with xdg-open. If given an URL as input 526s instead of a path, opnk will rely on netcache to get the networked content. 526s 526s positional arguments: 526s INPUT Path to the file or URL to open 526s 526s options: 526s -h, --help show this help message and exit 526s --mode MODE Which mode should be used to render: normal (default), 526s full or source. With HTML, the normal mode try to 526s extract the article. 526s --cache-validity CACHE_VALIDITY 526s maximum age, in second, of the cached version before 526s redownloading a new version 526s # 5.1 Open some things (but stick to not needing Internet). 526s opnk /usr/share/doc/offpunk/copyright 527s copyright (3 items) (local file) 527s Format: https://www.debian.org/doc/packaging-manuals/copyright- 527s format/1.0/ 527s Upstream-Name: Offpunk 527s Upstream-Contact: Lionel "Ploum" Dricot 527s Source: https://git.sr.ht/~lioploum/offpunk/ 527s 527s Files: * 527s Copyright: 2019-2020, Solderpunk 527s 2021-2024, Ploum and contributors. 527s License: AGPL-3 527s Comment: Derived from AV-98[1] by Solderpunk. 527s [1]: https://tildegit.org/solderpunk/AV-98 527s 527s Files: debian/* 527s Copyright: 2023-2024, Étienne Mollier 527s License: AGPL-3 527s 527s License: AGPL-3 527s Copyright (c) 2022, Ploum and contributors. 527s All rights reserved. 527s . 527s Copyright (C) 2007 Free Software Foundation, Inc. 527s Everyone is permitted to copy and distribute verbatim copies 527s of this license document, but changing it is not allowed. 527s . 527s Preamble 527s . 527s The GNU Affero General Public License is a free, copyleft license for 527s software and other kinds of works, specifically designed to ensure 527s cooperation with the community in the case of network server software. 527s . 527s The licenses for most software and other practical works are designed 527s to take away your freedom to share and change the works. By contrast, 527s our General Public Licenses are intended to guarantee your freedom to 527s share and change all versions of a program--to make sure it remains 527s free 527s software for all its users. 527s . 527s When we speak of free software, we are referring to freedom, not 527s price. Our General Public Licenses are designed to make sure that you 527s have the freedom to distribute copies of free software (and charge for 527s them if you wish), that you receive source code or can get it if you 527s want it, that you can change the software or use pieces of it in new 527s free programs, and that you know you can do these things. 527s . 527s Developers that use our General Public Licenses protect your rights 527s with two steps: (1) assert copyright on the software, and (2) offer 527s you this License which gives you legal permission to copy, distribute 527s and/or modify the software. 527s . 527s A secondary benefit of defending all users' freedom is that 527s improvements made in alternate versions of the program, if they 527s receive widespread use, become available for other developers to 527s incorporate. Many developers of free software are heartened and 527s encouraged by the resulting cooperation. However, in the case of 527s software used on network servers, this result may fail to come about. 527s The GNU General Public License permits making a modified version and 527s letting the public access it on a server without ever releasing its 527s source code to the public. 527s . 527s The GNU Affero General Public License is designed specifically to 527s ensure that, in such cases, the modified source code becomes available 527s to the community. It requires the operator of a network server to 527s provide the source code of the modified version running there to the 527s users of that server. Therefore, public use of a modified version, on 527s a publicly accessible server, gives the public access to the source 527s code of the modified version. 527s . 527s An older license, called the Affero General Public License and 527s published by Affero, was designed to accomplish similar goals. This is 527s a different license, not a version of the Affero GPL, but Affero has 527s released a new version of the Affero GPL which permits relicensing 527s under 527s this license. 527s . 527s The precise terms and conditions for copying, distribution and 527s modification follow. 527s . 527s TERMS AND CONDITIONS 527s . 527s 0. Definitions. 527s . 527s "This License" refers to version 3 of the GNU Affero General Public 527s License. 527s . 527s "Copyright" also means copyright-like laws that apply to other kinds of 527s works, such as semiconductor masks. 527s . 527s "The Program" refers to any copyrightable work licensed under this 527s License. Each licensee is addressed as "you". "Licensees" and 527s "recipients" may be individuals or organizations. 527s . 527s To "modify" a work means to copy from or adapt all or part of the work 527s in a fashion requiring copyright permission, other than the making of 527s an 527s exact copy. The resulting work is called a "modified version" of the 527s earlier work or a work "based on" the earlier work. 527s . 527s A "covered work" means either the unmodified Program or a work based 527s on the Program. 527s . 527s To "propagate" a work means to do anything with it that, without 527s permission, would make you directly or secondarily liable for 527s infringement under applicable copyright law, except executing it on a 527s computer or modifying a private copy. Propagation includes copying, 527s distribution (with or without modification), making available to the 527s public, and in some countries other activities as well. 527s . 527s To "convey" a work means any kind of propagation that enables other 527s parties to make or receive copies. Mere interaction with a user 527s through 527s a computer network, with no transfer of a copy, is not conveying. 527s . 527s An interactive user interface displays "Appropriate Legal Notices" 527s to the extent that it includes a convenient and prominently visible 527s feature that (1) displays an appropriate copyright notice, and (2) 527s tells the user that there is no warranty for the work (except to the 527s extent that warranties are provided), that licensees may convey the 527s work under this License, and how to view a copy of this License. If 527s the interface presents a list of user commands or options, such as a 527s menu, a prominent item in the list meets this criterion. 527s . 527s 1. Source Code. 527s . 527s The "source code" for a work means the preferred form of the work 527s for making modifications to it. "Object code" means any non-source 527s form of a work. 527s . 527s A "Standard Interface" means an interface that either is an official 527s standard defined by a recognized standards body, or, in the case of 527s interfaces specified for a particular programming language, one that 527s is widely used among developers working in that language. 527s . 527s The "System Libraries" of an executable work include anything, other 527s than the work as a whole, that (a) is included in the normal form of 527s packaging a Major Component, but which is not part of that Major 527s Component, and (b) serves only to enable use of the work with that 527s Major Component, or to implement a Standard Interface for which an 527s implementation is available to the public in source code form. A 527s "Major Component", in this context, means a major essential component 527s (kernel, window system, and so on) of the specific operating system 527s (if any) on which the executable work runs, or a compiler used to 527s produce the work, or an object code interpreter used to run it. 527s . 527s The "Corresponding Source" for a work in object code form means all 527s the source code needed to generate, install, and (for an executable 527s work) run the object code and to modify the work, including scripts to 527s control those activities. However, it does not include the work's 527s System Libraries, or general-purpose tools or generally available free 527s programs which are used unmodified in performing those activities but 527s which are not part of the work. For example, Corresponding Source 527s includes interface definition files associated with source files for 527s the work, and the source code for shared libraries and dynamically 527s linked subprograms that the work is specifically designed to require, 527s such as by intimate data communication or control flow between those 527s subprograms and other parts of the work. 527s . 527s The Corresponding Source need not include anything that users 527s can regenerate automatically from other parts of the Corresponding 527s Source. 527s . 527s The Corresponding Source for a work in source code form is that 527s same work. 527s . 527s 2. Basic Permissions. 527s . 527s All rights granted under this License are granted for the term of 527s copyright on the Program, and are irrevocable provided the stated 527s conditions are met. This License explicitly affirms your unlimited 527s permission to run the unmodified Program. The output from running a 527s covered work is covered by this License only if the output, given its 527s content, constitutes a covered work. This License acknowledges your 527s rights of fair use or other equivalent, as provided by copyright law. 527s . 527s You may make, run and propagate covered works that you do not 527s convey, without conditions so long as your license otherwise remains 527s in force. You may convey covered works to others for the sole purpose 527s of having them make modifications exclusively for you, or provide you 527s with facilities for running those works, provided that you comply with 527s the terms of this License in conveying all material for which you do 527s not control copyright. Those thus making or running the covered works 527s for you must do so exclusively on your behalf, under your direction 527s and control, on terms that prohibit them from making any copies of 527s your copyrighted material outside their relationship with you. 527s . 527s Conveying under any other circumstances is permitted solely under 527s the conditions stated below. Sublicensing is not allowed; section 10 527s makes it unnecessary. 527s . 527s 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 527s . 527s No covered work shall be deemed part of an effective technological 527s measure under any applicable law fulfilling obligations under article 527s 11 of the WIPO copyright treaty adopted on 20 December 1996, or 527s similar laws prohibiting or restricting circumvention of such 527s measures. 527s . 527s When you convey a covered work, you waive any legal power to forbid 527s circumvention of technological measures to the extent such 527s circumvention 527s is effected by exercising rights under this License with respect to 527s the covered work, and you disclaim any intention to limit operation or 527s modification of the work as a means of enforcing, against the work's 527s users, your or third parties' legal rights to forbid circumvention of 527s technological measures. 527s . 527s 4. Conveying Verbatim Copies. 527s . 527s You may convey verbatim copies of the Program's source code as you 527s receive it, in any medium, provided that you conspicuously and 527s appropriately publish on each copy an appropriate copyright notice; 527s keep intact all notices stating that this License and any 527s non-permissive terms added in accord with section 7 apply to the code; 527s keep intact all notices of the absence of any warranty; and give all 527s recipients a copy of this License along with the Program. 527s . 527s You may charge any price or no price for each copy that you convey, 527s and you may offer support or warranty protection for a fee. 527s . 527s 5. Conveying Modified Source Versions. 527s . 527s You may convey a work based on the Program, or the modifications to 527s produce it from the Program, in the form of source code under the 527s terms of section 4, provided that you also meet all of these 527s conditions: 527s . 527s a) The work must carry prominent notices stating that you modified 527s it, and giving a relevant date. 527s . 527s b) The work must carry prominent notices stating that it is 527s released under this License and any conditions added under section 527s 7. This requirement modifies the requirement in section 4 to 527s "keep intact all notices". 527s . 527s c) You must license the entire work, as a whole, under this 527s License to anyone who comes into possession of a copy. This 527s License will therefore apply, along with any applicable section 7 527s additional terms, to the whole of the work, and all its parts, 527s regardless of how they are packaged. This License gives no 527s permission to license the work in any other way, but it does not 527s invalidate such permission if you have separately received it. 527s . 527s d) If the work has interactive user interfaces, each must display 527s Appropriate Legal Notices; however, if the Program has interactive 527s interfaces that do not display Appropriate Legal Notices, your 527s work need not make them do so. 527s . 527s A compilation of a covered work with other separate and independent 527s works, which are not by their nature extensions of the covered work, 527s and which are not combined with it such as to form a larger program, 527s in or on a volume of a storage or distribution medium, is called an 527s "aggregate" if the compilation and its resulting copyright are not 527s used to limit the access or legal rights of the compilation's users 527s beyond what the individual works permit. Inclusion of a covered work 527s in an aggregate does not cause this License to apply to the other 527s parts of the aggregate. 527s . 527s 6. Conveying Non-Source Forms. 527s . 527s You may convey a covered work in object code form under the terms 527s of sections 4 and 5, provided that you also convey the 527s machine-readable Corresponding Source under the terms of this License, 527s in one of these ways: 527s . 527s a) Convey the object code in, or embodied in, a physical product 527s (including a physical distribution medium), accompanied by the 527s Corresponding Source fixed on a durable physical medium 527s customarily used for software interchange. 527s . 527s b) Convey the object code in, or embodied in, a physical product 527s (including a physical distribution medium), accompanied by a 527s written offer, valid for at least three years and valid for as 527s long as you offer spare parts or customer support for that product 527s model, to give anyone who possesses the object code either (1) a 527s copy of the Corresponding Source for all the software in the 527s product that is covered by this License, on a durable physical 527s medium customarily used for software interchange, for a price no 527s more than your reasonable cost of physically performing this 527s conveying of source, or (2) access to copy the 527s Corresponding Source from a network server at no charge. 527s . 527s c) Convey individual copies of the object code with a copy of the 527s written offer to provide the Corresponding Source. This 527s alternative is allowed only occasionally and noncommercially, and 527s only if you received the object code with such an offer, in accord 527s with subsection 6b. 527s . 527s d) Convey the object code by offering access from a designated 527s place (gratis or for a charge), and offer equivalent access to the 527s Corresponding Source in the same way through the same place at no 527s further charge. You need not require recipients to copy the 527s Corresponding Source along with the object code. If the place to 527s copy the object code is a network server, the Corresponding Source 527s may be on a different server (operated by you or a third party) 527s that supports equivalent copying facilities, provided you maintain 527s clear directions next to the object code saying where to find the 527s Corresponding Source. Regardless of what server hosts the 527s Corresponding Source, you remain obligated to ensure that it is 527s available for as long as needed to satisfy these requirements. 527s . 527s e) Convey the object code using peer-to-peer transmission, provided 527s you inform other peers where the object code and Corresponding 527s Source of the work are being offered to the general public at no 527s charge under subsection 6d. 527s . 527s A separable portion of the object code, whose source code is excluded 527s from the Corresponding Source as a System Library, need not be 527s included in conveying the object code work. 527s . 527s A "User Product" is either (1) a "consumer product", which means any 527s tangible personal property which is normally used for personal, family, 527s or household purposes, or (2) anything designed or sold for 527s incorporation 527s into a dwelling. In determining whether a product is a consumer 527s product, 527s doubtful cases shall be resolved in favor of coverage. For a 527s particular 527s product received by a particular user, "normally used" refers to a 527s typical or common use of that class of product, regardless of the 527s status 527s of the particular user or of the way in which the particular user 527s actually uses, or expects or is expected to use, the product. A 527s product 527s is a consumer product regardless of whether the product has substantial 527s commercial, industrial or non-consumer uses, unless such uses represent 527s the only significant mode of use of the product. 527s . 527s "Installation Information" for a User Product means any methods, 527s procedures, authorization keys, or other information required to 527s install 527s and execute modified versions of a covered work in that User Product 527s from 527s a modified version of its Corresponding Source. The information must 527s suffice to ensure that the continued functioning of the modified object 527s code is in no case prevented or interfered with solely because 527s modification has been made. 527s . 527s If you convey an object code work under this section in, or with, or 527s specifically for use in, a User Product, and the conveying occurs as 527s part of a transaction in which the right of possession and use of the 527s User Product is transferred to the recipient in perpetuity or for a 527s fixed term (regardless of how the transaction is characterized), the 527s Corresponding Source conveyed under this section must be accompanied 527s by the Installation Information. But this requirement does not apply 527s if neither you nor any third party retains the ability to install 527s modified object code on the User Product (for example, the work has 527s been installed in ROM). 527s . 527s The requirement to provide Installation Information does not include a 527s requirement to continue to provide support service, warranty, or 527s updates 527s for a work that has been modified or installed by the recipient, or for 527s the User Product in which it has been modified or installed. Access to 527s a 527s network may be denied when the modification itself materially and 527s adversely affects the operation of the network or violates the rules 527s and 527s protocols for communication across the network. 527s . 527s Corresponding Source conveyed, and Installation Information provided, 527s in accord with this section must be in a format that is publicly 527s documented (and with an implementation available to the public in 527s source code form), and must require no special password or key for 527s unpacking, reading or copying. 527s . 527s 7. Additional Terms. 527s . 527s "Additional permissions" are terms that supplement the terms of this 527s License by making exceptions from one or more of its conditions. 527s Additional permissions that are applicable to the entire Program shall 527s be treated as though they were included in this License, to the extent 527s that they are valid under applicable law. If additional permissions 527s apply only to part of the Program, that part may be used separately 527s under those permissions, but the entire Program remains governed by 527s this License without regard to the additional permissions. 527s . 527s When you convey a copy# 5.2 Main functionality 527s opnk index.gmi 527s of a covered work, you may at your option 527s remove any additional permissions from that copy, or from any part of 527s it. (Additional permissions may be written to require their own 527s removal in certain cases when you modify the work.) You may place 527s additional permissions on material, added by you to a covered work, 527s for which you have or can give appropriate copyright permission. 527s . 527s Notwithstanding any other provision of this License, for material you 527s add to a covered work, you may (if authorized by the copyright holders 527s of 527s that material) supplement the terms of this License with terms: 527s . 527s a) Disclaiming warranty or limiting liability differently from the 527s terms of sections 15 and 16 of this License; or 527s . 527s b) Requiring preservation of specified reasonable legal notices or 527s author attributions in that material or in the Appropriate Legal 527s Notices displayed by works containing it; or 527s . 527s c) Prohibiting misrepresentation of the origin of that material, or 527s requiring that modified versions of such material be marked in 527s reasonable ways as different from the original version; or 527s . 527s d) Limiting the use for publicity purposes of names of licensors or 527s authors of the material; or 527s . 527s e) Declining to grant rights under trademark law for use of some 527s trade names, trademarks, or service marks; or 527s . 527s f) Requiring indemnification of licensors and authors of that 527s material by anyone who conveys the material (or modified versions 527s of 527s it) with contractual assumptions of liability to the recipient, for 527s any liability that these contractual assumptions directly impose on 527s those licensors and authors. 527s . 527s All other non-permissive additional terms are considered "further 527s restrictions" within the meaning of section 10. If the Program as you 527s received it, or any part of it, contains a notice stating that it is 527s governed by this License along with a term that is a further 527s restriction, you may remove that term. If a license document contains 527s a further restriction but permits relicensing or conveying under this 527s License, you may add to a covered work material governed by the terms 527s of that license document, provided that the further restriction does 527s not survive such relicensing or conveying. 527s . 527s If you add terms to a covered work in accord with this section, you 527s must place, in the relevant source files, a statement of the 527s additional terms that apply to those files, or a notice indicating 527s where to find the applicable terms. 527s . 527s Additional terms, permissive or non-permissive, may be stated in the 527s form of a separately written license, or stated as exceptions; 527s the above requirements apply either way. 527s . 527s 8. Termination. 527s . 527s You may not propagate or modify a covered work except as expressly 527s provided under this License. Any attempt otherwise to propagate or 527s modify it is void, and will automatically terminate your rights under 527s this License (including any patent licenses granted under the third 527s paragraph of section 11). 527s . 527s However, if you cease all violation of this License, then your 527s license from a particular copyright holder is reinstated (a) 527s provisionally, unless and until the copyright holder explicitly and 527s finally terminates your license, and (b) permanently, if the copyright 527s holder fails to notify you of the violation by some reasonable means 527s prior to 60 days after the cessation. 527s . 527s Moreover, your license from a particular copyright holder is 527s reinstated permanently if the copyright holder notifies you of the 527s violation by some reasonable means, this is the first time you have 527s received notice of violation of this License (for any work) from that 527s copyright holder, and you cure the violation prior to 30 days after 527s your receipt of the notice. 527s . 527s Termination of your rights under this section does not terminate the 527s licenses of parties who have received copies or rights from you under 527s this License. If your rights have been terminated and not permanently 527s reinstated, you do not qualify to receive new licenses for the same 527s material under section 10. 527s . 527s 9. Acceptance Not Required for Having Copies. 527s . 527s You are not required to accept this License in order to receive or 527s run a copy of the Program. Ancillary propagation of a covered work 527s occurring solely as a consequence of using peer-to-peer transmission 527s to receive a copy likewise does not require acceptance. However, 527s nothing other than this License grants you permission to propagate or 527s modify any covered work. These actions infringe copyright if you do 527s not accept this License. Therefore, by modifying or propagating a 527s covered work, you indicate your acceptance of this License to do so. 527s . 527s 10. Automatic Licensing of Downstream Recipients. 527s . 527s Each time you convey a covered work, the recipient automatically 527s receives a license from the original licensors, to run, modify and 527s propagate that work, subject to this License. You are not responsible 527s for enforcing compliance by third parties with this License. 527s . 527s An "entity transaction" is a transaction transferring control of an 527s organization, or substantially all assets of one, or subdividing an 527s organization, or merging organizations. If propagation of a covered 527s work results from an entity transaction, each party to that 527s transaction who receives a copy of the work also receives whatever 527s licenses to the work the party's predecessor in interest had or could 527s give under the previous paragraph, plus a right to possession of the 527s Corresponding Source of the work from the predecessor in interest, if 527s the predecessor has it or can get it with reasonable efforts. 527s . 527s You may not impose any further restrictions on the exercise of the 527s rights granted or affirmed under this License. For example, you may 527s not impose a license fee, royalty, or other charge for exercise of 527s rights granted under this License, and you may not initiate litigation 527s (including a cross-claim or counterclaim in a lawsuit) alleging that 527s any patent claim is infringed by making, using, selling, offering for 527s sale, or importing the Program or any portion of it. 527s . 527s 11. Patents. 527s . 527s A "contributor" is a copyright holder who authorizes use under this 527s License of the Program or a work on which the Program is based. The 527s work thus licensed is called the contributor's "contributor version". 527s . 527s A contributor's "essential patent claims" are all patent claims 527s owned or controlled by the contributor, whether already acquired or 527s hereafter acquired, that would be infringed by some manner, permitted 527s by this License, of making, using, or selling its contributor version, 527s but do not include claims that would be infringed only as a 527s consequence of further modification of the contributor version. For 527s purposes of this definition, "control" includes the right to grant 527s patent sublicenses in a manner consistent with the requirements of 527s this License. 527s . 527s Each contributor grants you a non-exclusive, worldwide, royalty-free 527s patent license under the contributor's essential patent claims, to 527s make, use, sell, offer for sale, import and otherwise run, modify and 527s propagate the contents of its contributor version. 527s . 527s In the following three paragraphs, a "patent license" is any express 527s agreement or commitment, however denominated, not to enforce a patent 527s (such as an express permission to practice a patent or covenant not to 527s sue for patent infringement). To "grant" such a patent license to a 527s party means to make such an agreement or commitment not to enforce a 527s patent against the party. 527s . 527s If you convey a covered work, knowingly relying on a patent license, 527s and the Corresponding Source of the work is not available for anyone 527s to copy, free of charge and under the terms of this License, through a 527s publicly available network server or other readily accessible means, 527s then you must either (1) cause the Corresponding Source to be so 527s available, or (2) arrange to deprive yourself of the benefit of the 527s patent license for this particular work, or (3) arrange, in a manner 527s consistent with the requirements of this License, to extend the patent 527s license to downstream recipients. "Knowingly relying" means you have 527s actual knowledge that, but for the patent license, your conveying the 527s covered work in a country, or your recipient's use of the covered work 527s in a country, would infringe one or more identifiable patents in that 527s country that you have reason to believe are valid. 527s . 527s If, pursuant to or in connection with a single transaction or 527s arrangement, you convey, or propagate by procuring conveyance of, a 527s covered work, and grant a patent license to some of the parties 527s receiving the covered work authorizing them to use, propagate, modify 527s or convey a specific copy of the covered work, then the patent license 527s you grant is automatically extended to all recipients of the covered 527s work and works based on it. 527s . 527s A patent license is "discriminatory" if it does not include within 527s the scope of its coverage, prohibits the exercise of, or is 527s conditioned on the non-exercise of one or more of the rights that are 527s specifically granted under this License. You may not convey a covered 527s work if you are a party to an arrangement with a third party that is 527s in the business of distributing software, under which you make payment 527s to the third party based on the extent of your activity of conveying 527s the work, and under which the third party grants, to any of the 527s parties who would receive the covered work from you, a discriminatory 527s patent license (a) in connection with copies of the covered work 527s conveyed by you (or copies made from those copies), or (b) primarily 527s for and in connection with specific products or compilations that 527s contain the covered work, unless you entered into that arrangement, 527s or that patent license was granted, prior to 28 March 2007. 527s . 527s Nothing in this License shall be construed as excluding or limiting 527s any implied license or other defenses to infringement that may 527s otherwise be available to you under applicable patent law. 527s . 527s 12. No Surrender of Others' Freedom. 527s . 527s If conditions are imposed on you (whether by court order, agreement or 527s otherwise) that contradict the conditions of this License, they do not 527s excuse you from the conditions of this License. If you cannot convey a 527s covered work so as to satisfy simultaneously your obligations under 527s this 527s License and any other pertinent obligations, then as a consequence you 527s may 527s not convey it at all. For example, if you agree to terms that obligate 527s you 527s to collect a royalty for further conveying from those to whom you 527s convey 527s the Program, the only way you could satisfy both those terms and this 527s License would be to refrain entirely from conveying the Program. 527s . 527s 13. Remote Network Interaction; Use with the GNU General Public 527s License. 527s . 527s Notwithstanding any other provision of this License, if you modify the 527s Program, your modified version must prominently offer all users 527s interacting with it remotely through a computer network (if your 527s version 527s supports such interaction) an opportunity to receive the Corresponding 527s Source of your version by providing access to the Corresponding Source 527s from a network server at no charge, through some standard or customary 527s means of facilitating copying of software. This Corresponding Source 527s shall include the Corresponding Source for any work covered by version 527s 3 527s of the GNU General Public License that is incorporated pursuant to the 527s following paragraph. 527s . 527s Notwithstanding any other provision of this License, you have 527s permission to link or combine any covered work with a work licensed 527s under version 3 of the GNU General Public License into a single 527s combined work, and to convey the resulting work. The terms of this 527s License will continue to apply to the part which is the covered work, 527s but the work with which it is combined will remain governed by version 527s 3 of the GNU General Public License. 527s . 527s 14. Revised Versions of this License. 527s . 527s The Free Software Foundation may publish revised and/or new versions of 527s the GNU Affero General Public License from time to time. Such new 527s versions 527s will be similar in spirit to the present version, but may differ in 527s detail to 527s address new problems or concerns. 527s . 527s Each version is given a distinguishing version number. If the 527s Program specifies that a certain numbered version of the GNU Affero 527s General 527s Public License "or any later version" applies to it, you have the 527s option of following the terms and conditions either of that numbered 527s version or of any later version published by the Free Software 527s Foundation. If the Program does not specify a version number of the 527s GNU Affero General Public License, you may choose any version ever 527s published 527s by the Free Software Foundation. 527s . 527s If the Program specifies that a proxy can decide which future 527s versions of the GNU Affero General Public License can be used, that 527s proxy's 527s public statement of acceptance of a version permanently authorizes you 527s to choose that version for the Program. 527s . 527s Later license versions may give you additional or different 527s permissions. However, no additional obligations are imposed on any 527s author or copyright holder as a result of your choosing to follow a 527s later version. 527s . 527s 15. Disclaimer of Warranty. 527s . 527s THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 527s APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 527s HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT 527s WARRANTY 527s OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED 527s TO, 527s THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 527s PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 527s PROGRAM 527s IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST 527s OF 527s ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 527s . 527s 16. Limitation of Liability. 527s . 527s IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 527s WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR 527s CONVEYS 527s THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING 527s ANY 527s GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF 527s THE 527s USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS 527s OF 527s DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR 527s THIRD 527s PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 527s PROGRAMS), 527s EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY 527s OF 527s SUCH DAMAGES. 527s . 527s 17. Interpretation of Sections 15 and 16. 527s . 527s If the disclaimer of warranty and limitation of liability provided 527s above cannot be given local legal effect according to their terms, 527s reviewing courts shall apply local law that most closely approximates 527s an absolute waiver of all civil liability in connection with the 527s Program, unless a warranty or assumption of liability accompanies a 527s copy of the Program in return for a fee. 527s . 527s END OF TERMS AND CONDITIONS 527s . 527s How to Apply These Terms to Your New Programs 527s . 527s If you develop a new program, and you want it to be of the greatest 527s possible use to the public, the best way to achieve this is to make it 527s free software which everyone can redistribute and change under these 527s terms. 527s . 527s To do so, attach the following notices to the program. It is safest 527s to attach them to the start of each source file to most effectively 527s state the exclusion of warranty; and each file should have at least 527s the "copyright" line and a pointer to where the full notice is found. 527s . 527s 527s Copyright (C) 527s . 527s This program is free software: you can redistribute it and/or 527s modify 527s it under the terms of the GNU Affero General Public License as 527s published by 527s the Free Software Foundation, either version 3 of the License, or 527s (at your option) any later version. 527s . 527s This program is distributed in the hope that it will be useful, 527s but WITHOUT ANY WARRANTY; without even the implied warranty of 527s MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 527s GNU Affero General Public License for more details. 527s . 527s You should have received a copy of the GNU Affero General Public 527s License 527s along with this program. If not, see 527s . 527s . 527s Also add information on how to contact you by electronic and paper 527s mail. 527s . 527s If your software can interact with users remotely through a computer 527s network, you should also make sure that it provides a way for users to 527s get its source. For example, if your program is a web application, its 527s interface could display a "Source" link that leads users to an archive 527s of the code. There are many ways you could offer source, and different 527s solutions will be better for different programs; see section 13 for the 527s specific requirements. 527s . 527s You should also get your employer (if you work as a programmer) or 527s school, 527s if any, to sign a "copyright disclaimer" for the program, if necessary. 527s For more information on this, and how to apply and follow the GNU AGPL, 527s see 527s . 527s To render images inline, you need either chafa or timg. 527s Before Chafa 1.10, you also need python-pil 527s index.gmi (7 items) (local file) 527s OFFPUNK - An Offline-First Browser for the Smolnet 527s 527s Offpunk is a command-line browser and feed reader dedicated to browsing 527s the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it 527s is optimised to be used offline with rare connections but works as well 527s when connected. 527s 527s Offpunk is optimised for reading and supports readability mode, 527s displaying pictures, subscribing to pages or RSS feeds, managing complex 527s lists of bookmarks. Its integrated help and easy commands make it a 527s perfect tool for command-line novices while power-users will be amazed 527s by its shell integration. 527s 527s Offpunk is written in Python 3 by Ploum. It aims to be portable and 527s minimise dependencies, making them optional. It supports 527s http/https/gopher/gemini/spartan on both IPv4 and IPv6. 527s 527s 527s [1] Installing Offpunk and dependencies 527s [2] First steps 527s [3] Configuring Offpunk 527s [4] Using Offpunk offline 527s [5] Lists and subscriptions 527s [6] Shell and OS integrations 527s [7] Roadmap & Contributions 527s 527s  527s To render images inline, you need either chafa or timg. 527s Before Chafa 1.10, you also need python-pil 528s autopkgtest [21:23:55]: test run-commands: -----------------------] 530s run-commands PASS 530s autopkgtest [21:23:57]: test run-commands: - - - - - - - - - - results - - - - - - - - - - 531s autopkgtest [21:23:58]: test run-commands: preparing testbed 533s Reading package lists... 533s Building dependency tree... 533s Reading state information... 533s Starting pkgProblemResolver with broken count: 0 533s Starting 2 pkgProblemResolver with broken count: 0 533s Done 534s The following additional packages will be installed: 534s chafa fontconfig libabsl20230802 libasound2-data libasound2t64 libass9 534s libasyncns0 libavc1394-0 libavcodec60 libavdevice60 libavfilter9 534s libavformat60 libavif16 libavutil58 libblas3 libbluray2 libbs2b0 libcaca0 534s libcairo-gobject2 libcairo2 libcdio-cdda2t64 libcdio-paranoia2t64 534s libcdio19t64 libchafa0t64 libchromaprint1 libcjson1 libcodec2-1.2 libdatrie1 534s libdav1d7 libdc1394-25 libdecor-0-0 libdrm-amdgpu1 libdrm-nouveau2 534s libdrm-radeon1 libexif12 libfftw3-double3 libflac12t64 libflite1 libgav1-1 534s libgbm1 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgfortran5 libgif7 534s libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgme0 534s libgomp1 libgraphicsmagick++-q16-12t64 libgraphicsmagick-q16-3t64 534s libgraphite2-3 libgsm1 libharfbuzz0b libhwy1t64 libiec61883-0 534s libimath-3-1-29t64 libjack-jackd2-0 libjxl0.9 liblapack3 liblcms2-2 534s liblilv-0-0 libllvm17t64 libmbedcrypto7t64 libmp3lame0 libmpg123-0t64 534s libmysofa1 libnorm1t64 libogg0 libopenal-data libopenal1 libopenexr-3-1-30 534s libopenjp2-7 libopenmpt0t64 libopenslide0 libopus0 libpango-1.0-0 534s libpangocairo-1.0-0 libpangoft2-1.0-0 libpgm-5.3-0t64 libpixman-1-0 534s libplacebo338 libpocketsphinx3 libpoppler-glib8t64 libpoppler137 534s libpostproc57 libpulse0 librabbitmq4 librav1e0 libraw1394-11 librist4 534s librsvg2-2 librubberband2 libsamplerate0 libsdl2-2.0-0 libserd-0-0 libshine3 534s libsixel1 libsnappy1v5 libsndfile1 libsndio7.0 libsodium23 libsord-0-0 534s libsoxr0 libspeex1 libsphinxbase3t64 libsratom-0-0 libsrt1.5-gnutls 534s libssh-gcrypt-4 libsvtav1enc1d1 libswresample4 libswscale7 libthai-data 534s libthai0 libtheora0 libturbojpeg libtwolame0 libudfread0 libunibreak6 534s libva-drm2 libva-x11-2 libva2 libvdpau1 libvidstab1.1 libvorbis0a 534s libvorbisenc2 libvorbisfile3 libvpx9 libvulkan1 libwayland-client0 534s libwayland-cursor0 libwayland-egl1 libwayland-server0 libwebpdemux2 534s libwebpmux3 libwmflite-0.2-7 libx11-xcb1 libx264-164 libx265-209 534s libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 534s libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 534s libxcursor1 libxfixes3 libxi6 libxrandr2 libxrender1 libxshmfence1 libxss1 534s libxv1 libxvidcore4 libxxf86vm1 libyuv0 libzimg2 libzix-0-0 libzmq5 534s libzvbi-common libzvbi0t64 ocl-icd-libopencl1 timg x11-common xsel 534s Suggested packages: 534s alsa-utils libasound2-plugins libcuda1 libnvcuvid1 libnvidia-encode1 534s libbluray-bdj libfftw3-bin libfftw3-dev graphicsmagick-dbg jackd2 534s liblcms2-utils libportaudio2 opus-tools pulseaudio libraw1394-doc 534s librsvg2-bin serdi sndiod sordi speex opencl-icd 534s Recommended packages: 534s alsa-ucm-conf alsa-topology-conf libaacs0 default-libdecor-0-plugin-1 534s | libdecor-0-plugin-1 libgdk-pixbuf2.0-bin libgl1-amber-dri ghostscript 534s fonts-urw-base35 pocketsphinx-en-us poppler-data librsvg2-common 534s va-driver-all | va-driver vdpau-driver-all | vdpau-driver 534s mesa-vulkan-drivers | vulkan-icd 534s The following NEW packages will be installed: 534s autopkgtest-satdep chafa fontconfig libabsl20230802 libasound2-data 534s libasound2t64 libass9 libasyncns0 libavc1394-0 libavcodec60 libavdevice60 534s libavfilter9 libavformat60 libavif16 libavutil58 libblas3 libbluray2 534s libbs2b0 libcaca0 libcairo-gobject2 libcairo2 libcdio-cdda2t64 534s libcdio-paranoia2t64 libcdio19t64 libchafa0t64 libchromaprint1 libcjson1 534s libcodec2-1.2 libdatrie1 libdav1d7 libdc1394-25 libdecor-0-0 libdrm-amdgpu1 534s libdrm-nouveau2 libdrm-radeon1 libexif12 libfftw3-double3 libflac12t64 534s libflite1 libgav1-1 libgbm1 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common 534s libgfortran5 libgif7 libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 534s libglx-mesa0 libglx0 libgme0 libgomp1 libgraphicsmagick++-q16-12t64 534s libgraphicsmagick-q16-3t64 libgraphite2-3 libgsm1 libharfbuzz0b libhwy1t64 534s libiec61883-0 libimath-3-1-29t64 libjack-jackd2-0 libjxl0.9 liblapack3 534s liblcms2-2 liblilv-0-0 libllvm17t64 libmbedcrypto7t64 libmp3lame0 534s libmpg123-0t64 libmysofa1 libnorm1t64 libogg0 libopenal-data libopenal1 534s libopenexr-3-1-30 libopenjp2-7 libopenmpt0t64 libopenslide0 libopus0 534s libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpgm-5.3-0t64 534s libpixman-1-0 libplacebo338 libpocketsphinx3 libpoppler-glib8t64 534s libpoppler137 libpostproc57 libpulse0 librabbitmq4 librav1e0 libraw1394-11 534s librist4 librsvg2-2 librubberband2 libsamplerate0 libsdl2-2.0-0 libserd-0-0 534s libshine3 libsixel1 libsnappy1v5 libsndfile1 libsndio7.0 libsodium23 534s libsord-0-0 libsoxr0 libspeex1 libsphinxbase3t64 libsratom-0-0 534s libsrt1.5-gnutls libssh-gcrypt-4 libsvtav1enc1d1 libswresample4 libswscale7 534s libthai-data libthai0 libtheora0 libturbojpeg libtwolame0 libudfread0 534s libunibreak6 libva-drm2 libva-x11-2 libva2 libvdpau1 libvidstab1.1 534s libvorbis0a libvorbisenc2 libvorbisfile3 libvpx9 libvulkan1 534s libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 534s libwebpdemux2 libwebpmux3 libwmflite-0.2-7 libx11-xcb1 libx264-164 534s libx265-209 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 534s libxcb-randr0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 534s libxcb-xfixes0 libxcursor1 libxfixes3 libxi6 libxrandr2 libxrender1 534s libxshmfence1 libxss1 libxv1 libxvidcore4 libxxf86vm1 libyuv0 libzimg2 534s libzix-0-0 libzmq5 libzvbi-common libzvbi0t64 ocl-icd-libopencl1 timg 534s x11-common xsel 535s 0 upgraded, 173 newly installed, 0 to remove and 0 not upgraded. 535s Need to get 106 MB/106 MB of archives. 535s After this operation, 346 MB of additional disk space will be used. 535s Get:1 /tmp/autopkgtest.cIZ7A8/3-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [792 B] 535s Get:2 http://ftpmaster.internal/ubuntu oracular/universe arm64 libchafa0t64 arm64 1.14.0-1.1build1 [99.4 kB] 535s Get:3 http://ftpmaster.internal/ubuntu oracular/universe arm64 libdav1d7 arm64 1.4.2-1 [297 kB] 535s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 libabsl20230802 arm64 20230802.1-4 [487 kB] 535s Get:5 http://ftpmaster.internal/ubuntu oracular/universe arm64 libgav1-1 arm64 0.19.0-2 [560 kB] 535s Get:6 http://ftpmaster.internal/ubuntu oracular/universe arm64 librav1e0 arm64 0.7.1-2 [760 kB] 536s Get:7 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsvtav1enc1d1 arm64 1.7.0+dfsg-2build1 [1276 kB] 536s Get:8 http://ftpmaster.internal/ubuntu oracular/universe arm64 libyuv0 arm64 0.0.1888.20240509-4 [147 kB] 536s Get:9 http://ftpmaster.internal/ubuntu oracular/universe arm64 libavif16 arm64 1.0.4-3ubuntu1 [89.7 kB] 536s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 libpixman-1-0 arm64 0.42.2-1build1 [204 kB] 536s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 536s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 536s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 536s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 libcairo2 arm64 1.18.0-3build1 [555 kB] 536s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 libcairo-gobject2 arm64 1.18.0-3build1 [127 kB] 536s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 libgdk-pixbuf2.0-common all 2.42.12+dfsg-1 [7888 B] 536s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libgdk-pixbuf-2.0-0 arm64 2.42.12+dfsg-1 [145 kB] 536s Get:18 http://ftpmaster.internal/ubuntu oracular/main arm64 fontconfig arm64 2.15.0-1.1ubuntu2 [190 kB] 536s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 536s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 libharfbuzz0b arm64 8.3.0-2build2 [463 kB] 536s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 536s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 536s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 536s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 libpango-1.0-0 arm64 1.54.0+ds-1 [230 kB] 536s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 libpangoft2-1.0-0 arm64 1.54.0+ds-1 [41.7 kB] 536s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 libpangocairo-1.0-0 arm64 1.54.0+ds-1 [27.2 kB] 536s Get:27 http://ftpmaster.internal/ubuntu oracular/main arm64 librsvg2-2 arm64 2.58.0+dfsg-1build1 [2027 kB] 536s Get:28 http://ftpmaster.internal/ubuntu oracular/main arm64 libwebpdemux2 arm64 1.4.0-0.1 [12.3 kB] 536s Get:29 http://ftpmaster.internal/ubuntu oracular/universe arm64 chafa arm64 1.14.0-1.1build1 [71.9 kB] 536s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 libasound2-data all 1.2.11-1build2 [21.0 kB] 536s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 libasound2t64 arm64 1.2.11-1build2 [387 kB] 536s Get:32 http://ftpmaster.internal/ubuntu oracular/universe arm64 libunibreak6 arm64 6.1-2 [25.9 kB] 536s Get:33 http://ftpmaster.internal/ubuntu oracular/universe arm64 libass9 arm64 1:0.17.2-2 [100 kB] 536s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 libasyncns0 arm64 0.8-6build4 [11.2 kB] 536s Get:35 http://ftpmaster.internal/ubuntu oracular/universe arm64 libva2 arm64 2.21.0-1 [66.6 kB] 536s Get:36 http://ftpmaster.internal/ubuntu oracular/universe arm64 libva-drm2 arm64 2.21.0-1 [7152 B] 536s Get:37 http://ftpmaster.internal/ubuntu oracular/main arm64 libx11-xcb1 arm64 2:1.8.7-1build1 [7870 B] 536s Get:38 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 536s Get:39 http://ftpmaster.internal/ubuntu oracular/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 536s Get:40 http://ftpmaster.internal/ubuntu oracular/universe arm64 libva-x11-2 arm64 2.21.0-1 [12.2 kB] 536s Get:41 http://ftpmaster.internal/ubuntu oracular/main arm64 libvdpau1 arm64 1.5-3 [26.4 kB] 536s Get:42 http://ftpmaster.internal/ubuntu oracular/universe arm64 ocl-icd-libopencl1 arm64 2.3.2-1build1 [37.6 kB] 536s Get:43 http://ftpmaster.internal/ubuntu oracular/universe arm64 libavutil58 arm64 7:6.1.1-4ubuntu3 [388 kB] 536s Get:44 http://ftpmaster.internal/ubuntu oracular/universe arm64 libcodec2-1.2 arm64 1.2.0-2build1 [8996 kB] 537s Get:45 http://ftpmaster.internal/ubuntu oracular/universe arm64 libgsm1 arm64 1.0.22-1build1 [27.0 kB] 537s Get:46 http://ftpmaster.internal/ubuntu oracular/main arm64 libgif7 arm64 5.2.2-1ubuntu1 [35.5 kB] 537s Get:47 http://ftpmaster.internal/ubuntu oracular/universe arm64 libhwy1t64 arm64 1.2.0-2 [633 kB] 537s Get:48 http://ftpmaster.internal/ubuntu oracular/main arm64 liblcms2-2 arm64 2.14-2build1 [161 kB] 537s Get:49 http://ftpmaster.internal/ubuntu oracular/universe arm64 libimath-3-1-29t64 arm64 3.1.9-3.1ubuntu2 [68.2 kB] 537s Get:50 http://ftpmaster.internal/ubuntu oracular/universe arm64 libopenexr-3-1-30 arm64 3.1.5-5.1build3 [939 kB] 537s Get:51 http://ftpmaster.internal/ubuntu oracular/universe arm64 libjxl0.9 arm64 0.9.2-9 [893 kB] 537s Get:52 http://ftpmaster.internal/ubuntu oracular/main arm64 libmp3lame0 arm64 3.100-6build1 [141 kB] 537s Get:53 http://ftpmaster.internal/ubuntu oracular/main arm64 libopenjp2-7 arm64 2.5.0-2build3 [171 kB] 537s Get:54 http://ftpmaster.internal/ubuntu oracular/main arm64 libopus0 arm64 1.5.2-1 [2891 kB] 537s Get:55 http://ftpmaster.internal/ubuntu oracular/universe arm64 libshine3 arm64 3.1.1-2build1 [25.8 kB] 537s Get:56 http://ftpmaster.internal/ubuntu oracular/main arm64 libsnappy1v5 arm64 1.2.1-1 [30.4 kB] 537s Get:57 http://ftpmaster.internal/ubuntu oracular/main arm64 libspeex1 arm64 1.2.1-2ubuntu2 [56.1 kB] 537s Get:58 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14.1.0-1ubuntu1 [144 kB] 537s Get:59 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsoxr0 arm64 0.1.3-4build3 [56.4 kB] 537s Get:60 http://ftpmaster.internal/ubuntu oracular/universe arm64 libswresample4 arm64 7:6.1.1-4ubuntu3 [57.9 kB] 537s Get:61 http://ftpmaster.internal/ubuntu oracular/main arm64 libogg0 arm64 1.3.5-3build1 [22.6 kB] 537s Get:62 http://ftpmaster.internal/ubuntu oracular/main arm64 libtheora0 arm64 1.1.1+dfsg.1-16.1build3 [224 kB] 537s Get:63 http://ftpmaster.internal/ubuntu oracular/main arm64 libtwolame0 arm64 0.4.0-2build3 [51.7 kB] 537s Get:64 http://ftpmaster.internal/ubuntu oracular/main arm64 libvorbis0a arm64 1.3.7-2 [95.0 kB] 538s Get:65 http://ftpmaster.internal/ubuntu oracular/main arm64 libvorbisenc2 arm64 1.3.7-2 [80.0 kB] 538s Get:66 http://ftpmaster.internal/ubuntu oracular/main arm64 libvpx9 arm64 1.14.1-1ubuntu1 [1236 kB] 538s Get:67 http://ftpmaster.internal/ubuntu oracular/main arm64 libwebpmux3 arm64 1.4.0-0.1 [25.1 kB] 538s Get:68 http://ftpmaster.internal/ubuntu oracular/universe arm64 libx264-164 arm64 2:0.164.3108+git31e19f9-1 [542 kB] 538s Get:69 http://ftpmaster.internal/ubuntu oracular/universe arm64 libx265-209 arm64 3.6-3 [864 kB] 538s Get:70 http://ftpmaster.internal/ubuntu oracular/universe arm64 libxvidcore4 arm64 2:1.3.7-1build1 [180 kB] 538s Get:71 http://ftpmaster.internal/ubuntu oracular/universe arm64 libzvbi-common all 0.2.42-2 [42.4 kB] 538s Get:72 http://ftpmaster.internal/ubuntu oracular/universe arm64 libzvbi0t64 arm64 0.2.42-2 [259 kB] 538s Get:73 http://ftpmaster.internal/ubuntu oracular/universe arm64 libavcodec60 arm64 7:6.1.1-4ubuntu3 [5838 kB] 538s Get:74 http://ftpmaster.internal/ubuntu oracular/main arm64 libraw1394-11 arm64 2.1.2-2build3 [26.9 kB] 538s Get:75 http://ftpmaster.internal/ubuntu oracular/main arm64 libavc1394-0 arm64 0.5.4-5build3 [15.8 kB] 538s Get:76 http://ftpmaster.internal/ubuntu oracular/universe arm64 libudfread0 arm64 1.1.2-1build1 [17.0 kB] 538s Get:77 http://ftpmaster.internal/ubuntu oracular/universe arm64 libbluray2 arm64 1:1.3.4-1build1 [149 kB] 538s Get:78 http://ftpmaster.internal/ubuntu oracular/universe arm64 libchromaprint1 arm64 1.5.1-5 [29.3 kB] 538s Get:79 http://ftpmaster.internal/ubuntu oracular/universe arm64 libgme0 arm64 0.6.3-7build1 [129 kB] 538s Get:80 http://ftpmaster.internal/ubuntu oracular/main arm64 libmpg123-0t64 arm64 1.32.6-3 [171 kB] 538s Get:81 http://ftpmaster.internal/ubuntu oracular/main arm64 libvorbisfile3 arm64 1.3.7-2 [17.1 kB] 538s Get:82 http://ftpmaster.internal/ubuntu oracular/universe arm64 libopenmpt0t64 arm64 0.7.8-1 [620 kB] 538s Get:83 http://ftpmaster.internal/ubuntu oracular/main arm64 librabbitmq4 arm64 0.11.0-1build2 [38.1 kB] 538s Get:84 http://ftpmaster.internal/ubuntu oracular/universe arm64 libcjson1 arm64 1.7.18-3 [22.1 kB] 538s Get:85 http://ftpmaster.internal/ubuntu oracular/universe arm64 libmbedcrypto7t64 arm64 2.28.8-1 [209 kB] 538s Get:86 http://ftpmaster.internal/ubuntu oracular/universe arm64 librist4 arm64 0.2.10+dfsg-2 [76.2 kB] 538s Get:87 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsrt1.5-gnutls arm64 1.5.3-1build2 [306 kB] 538s Get:88 http://ftpmaster.internal/ubuntu oracular/main arm64 libssh-gcrypt-4 arm64 0.10.6-3 [224 kB] 538s Get:89 http://ftpmaster.internal/ubuntu oracular/universe arm64 libnorm1t64 arm64 1.5.9+dfsg-3.1build1 [150 kB] 538s Get:90 http://ftpmaster.internal/ubuntu oracular/universe arm64 libpgm-5.3-0t64 arm64 5.3.128~dfsg-2.1build1 [162 kB] 538s Get:91 http://ftpmaster.internal/ubuntu oracular/main arm64 libsodium23 arm64 1.0.18-1build3 [119 kB] 538s Get:92 http://ftpmaster.internal/ubuntu oracular/universe arm64 libzmq5 arm64 4.3.5-1build2 [247 kB] 538s Get:93 http://ftpmaster.internal/ubuntu oracular/universe arm64 libavformat60 arm64 7:6.1.1-4ubuntu3 [1187 kB] 538s Get:94 http://ftpmaster.internal/ubuntu oracular/universe arm64 libbs2b0 arm64 3.1.0+dfsg-8 [9900 B] 538s Get:95 http://ftpmaster.internal/ubuntu oracular/universe arm64 libflite1 arm64 2.2-6build3 [13.6 MB] 539s Get:96 http://ftpmaster.internal/ubuntu oracular/universe arm64 libserd-0-0 arm64 0.32.2-1 [42.9 kB] 539s Get:97 http://ftpmaster.internal/ubuntu oracular/universe arm64 libzix-0-0 arm64 0.4.2-2build1 [24.0 kB] 539s Get:98 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsord-0-0 arm64 0.16.16-2build1 [15.7 kB] 539s Get:99 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsratom-0-0 arm64 0.6.16-1build1 [15.8 kB] 539s Get:100 http://ftpmaster.internal/ubuntu oracular/universe arm64 liblilv-0-0 arm64 0.24.24-2 [41.1 kB] 539s Get:101 http://ftpmaster.internal/ubuntu oracular/universe arm64 libmysofa1 arm64 1.3.2+dfsg-2ubuntu2 [1157 kB] 539s Get:102 http://ftpmaster.internal/ubuntu oracular/main arm64 libvulkan1 arm64 1.3.283.0-1 [151 kB] 539s Get:103 http://ftpmaster.internal/ubuntu oracular/universe arm64 libplacebo338 arm64 6.338.2-2build1 [2570 kB] 539s Get:104 http://ftpmaster.internal/ubuntu oracular/main arm64 libblas3 arm64 3.12.0-3build1 [143 kB] 539s Get:105 http://ftpmaster.internal/ubuntu oracular/main arm64 libgfortran5 arm64 14.1.0-1ubuntu1 [443 kB] 539s Get:106 http://ftpmaster.internal/ubuntu oracular/main arm64 liblapack3 arm64 3.12.0-3build1 [2241 kB] 539s Get:107 http://ftpmaster.internal/ubuntu oracular/main arm64 libflac12t64 arm64 1.4.3+ds-2.1ubuntu2 [170 kB] 539s Get:108 http://ftpmaster.internal/ubuntu oracular/main arm64 libsndfile1 arm64 1.2.2-1ubuntu5 [208 kB] 540s Get:109 http://ftpmaster.internal/ubuntu oracular/main arm64 libpulse0 arm64 1:16.1+dfsg1-5.1ubuntu1 [271 kB] 540s Get:110 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsphinxbase3t64 arm64 0.8+5prealpha+1-17build2 [124 kB] 540s Get:111 http://ftpmaster.internal/ubuntu oracular/universe arm64 libpocketsphinx3 arm64 0.8.0+real5prealpha+1-15ubuntu5 [129 kB] 540s Get:112 http://ftpmaster.internal/ubuntu oracular/universe arm64 libpostproc57 arm64 7:6.1.1-4ubuntu3 [41.2 kB] 540s Get:113 http://ftpmaster.internal/ubuntu oracular/main arm64 libfftw3-double3 arm64 3.3.10-1ubuntu3 [384 kB] 540s Get:114 http://ftpmaster.internal/ubuntu oracular/main arm64 libsamplerate0 arm64 0.2.2-4build1 [1343 kB] 540s Get:115 http://ftpmaster.internal/ubuntu oracular/universe arm64 librubberband2 arm64 3.3.0+dfsg-2build1 [120 kB] 540s Get:116 http://ftpmaster.internal/ubuntu oracular/universe arm64 libswscale7 arm64 7:6.1.1-4ubuntu3 [173 kB] 540s Get:117 http://ftpmaster.internal/ubuntu oracular/universe arm64 libvidstab1.1 arm64 1.1.0-2build1 [38.7 kB] 540s Get:118 http://ftpmaster.internal/ubuntu oracular/universe arm64 libzimg2 arm64 3.0.5+ds1-1build1 [119 kB] 540s Get:119 http://ftpmaster.internal/ubuntu oracular/universe arm64 libavfilter9 arm64 7:6.1.1-4ubuntu3 [4117 kB] 540s Get:120 http://ftpmaster.internal/ubuntu oracular/main arm64 libcaca0 arm64 0.99.beta20-4build2 [206 kB] 540s Get:121 http://ftpmaster.internal/ubuntu oracular/main arm64 libcdio19t64 arm64 2.1.0-4.2 [64.0 kB] 540s Get:122 http://ftpmaster.internal/ubuntu oracular/main arm64 libcdio-cdda2t64 arm64 10.2+2.0.2-1 [16.4 kB] 540s Get:123 http://ftpmaster.internal/ubuntu oracular/main arm64 libcdio-paranoia2t64 arm64 10.2+2.0.2-1 [15.8 kB] 540s Get:124 http://ftpmaster.internal/ubuntu oracular/universe arm64 libdc1394-25 arm64 2.2.6-4build1 [90.3 kB] 540s Get:125 http://ftpmaster.internal/ubuntu oracular/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 540s Get:126 http://ftpmaster.internal/ubuntu oracular/main arm64 libglapi-mesa arm64 24.0.9-0ubuntu1 [58.6 kB] 540s Get:127 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-dri2-0 arm64 1.17.0-2 [7418 B] 540s Get:128 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 540s Get:129 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 540s Get:130 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 540s Get:131 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 540s Get:132 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 540s Get:133 http://ftpmaster.internal/ubuntu oracular/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 540s Get:134 http://ftpmaster.internal/ubuntu oracular/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 540s Get:135 http://ftpmaster.internal/ubuntu oracular/main arm64 libdrm-amdgpu1 arm64 2.4.121-2 [20.9 kB] 540s Get:136 http://ftpmaster.internal/ubuntu oracular/main arm64 libdrm-nouveau2 arm64 2.4.121-2 [17.8 kB] 540s Get:137 http://ftpmaster.internal/ubuntu oracular/main arm64 libdrm-radeon1 arm64 2.4.121-2 [20.9 kB] 540s Get:138 http://ftpmaster.internal/ubuntu oracular/main arm64 libllvm17t64 arm64 1:17.0.6-12 [25.0 MB] 541s Get:139 http://ftpmaster.internal/ubuntu oracular/main arm64 libgl1-mesa-dri arm64 24.0.9-0ubuntu1 [8244 kB] 541s Get:140 http://ftpmaster.internal/ubuntu oracular/main arm64 libglx-mesa0 arm64 24.0.9-0ubuntu1 [166 kB] 541s Get:141 http://ftpmaster.internal/ubuntu oracular/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 541s Get:142 http://ftpmaster.internal/ubuntu oracular/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 541s Get:143 http://ftpmaster.internal/ubuntu oracular/main arm64 libiec61883-0 arm64 1.2.0-6build1 [24.3 kB] 541s Get:144 http://ftpmaster.internal/ubuntu oracular/main arm64 libjack-jackd2-0 arm64 1.9.21~dfsg-3ubuntu3 [285 kB] 541s Get:145 http://ftpmaster.internal/ubuntu oracular/universe arm64 libopenal-data all 1:1.23.1-4build1 [161 kB] 541s Get:146 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsndio7.0 arm64 1.9.0-0.3build3 [29.0 kB] 541s Get:147 http://ftpmaster.internal/ubuntu oracular/universe arm64 libopenal1 arm64 1:1.23.1-4build1 [510 kB] 541s Get:148 http://ftpmaster.internal/ubuntu oracular/main arm64 libwayland-client0 arm64 1.22.0-2.1build1 [25.9 kB] 541s Get:149 http://ftpmaster.internal/ubuntu oracular/main arm64 libdecor-0-0 arm64 0.2.2-1build2 [16.5 kB] 541s Get:150 http://ftpmaster.internal/ubuntu oracular/main arm64 libwayland-server0 arm64 1.22.0-2.1build1 [34.6 kB] 541s Get:151 http://ftpmaster.internal/ubuntu oracular/main arm64 libgbm1 arm64 24.0.9-0ubuntu1 [43.8 kB] 541s Get:152 http://ftpmaster.internal/ubuntu oracular/main arm64 libwayland-cursor0 arm64 1.22.0-2.1build1 [10.3 kB] 541s Get:153 http://ftpmaster.internal/ubuntu oracular/main arm64 libwayland-egl1 arm64 1.22.0-2.1build1 [5622 B] 541s Get:154 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcursor1 arm64 1:1.2.2-1 [21.2 kB] 541s Get:155 http://ftpmaster.internal/ubuntu oracular/main arm64 libxi6 arm64 2:1.8.1-1build1 [31.9 kB] 541s Get:156 http://ftpmaster.internal/ubuntu oracular/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 541s Get:157 http://ftpmaster.internal/ubuntu oracular/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 541s Get:158 http://ftpmaster.internal/ubuntu oracular/main arm64 libxss1 arm64 1:1.2.3-1build3 [7244 B] 541s Get:159 http://ftpmaster.internal/ubuntu oracular/main arm64 libsdl2-2.0-0 arm64 2.30.4+dfsg-1 [674 kB] 541s Get:160 http://ftpmaster.internal/ubuntu oracular/main arm64 libxcb-shape0 arm64 1.17.0-2 [6246 B] 541s Get:161 http://ftpmaster.internal/ubuntu oracular/main arm64 libxv1 arm64 2:1.0.11-1.1build1 [10.7 kB] 541s Get:162 http://ftpmaster.internal/ubuntu oracular/universe arm64 libavdevice60 arm64 7:6.1.1-4ubuntu3 [81.6 kB] 541s Get:163 http://ftpmaster.internal/ubuntu oracular/main arm64 libexif12 arm64 0.6.24-1build2 [86.5 kB] 541s Get:164 http://ftpmaster.internal/ubuntu oracular/main arm64 libwmflite-0.2-7 arm64 0.2.13-1.1build3 [68.6 kB] 541s Get:165 http://ftpmaster.internal/ubuntu oracular/universe arm64 libgraphicsmagick-q16-3t64 arm64 1.4+really1.3.43-1build2 [1204 kB] 541s Get:166 http://ftpmaster.internal/ubuntu oracular/universe arm64 libgraphicsmagick++-q16-12t64 arm64 1.4+really1.3.43-1build2 [111 kB] 541s Get:167 http://ftpmaster.internal/ubuntu oracular/universe arm64 libopenslide0 arm64 3.4.1+dfsg-7build2 [85.5 kB] 541s Get:168 http://ftpmaster.internal/ubuntu oracular/main arm64 libpoppler137 arm64 24.06.0-2 [1091 kB] 541s Get:169 http://ftpmaster.internal/ubuntu oracular/main arm64 libpoppler-glib8t64 arm64 24.06.0-2 [151 kB] 541s Get:170 http://ftpmaster.internal/ubuntu oracular/universe arm64 libturbojpeg arm64 1:2.1.5-2ubuntu2 [204 kB] 541s Get:171 http://ftpmaster.internal/ubuntu oracular/universe arm64 libsixel1 arm64 1.10.3-3build1 [110 kB] 541s Get:172 http://ftpmaster.internal/ubuntu oracular/universe arm64 timg arm64 1.6.0-1 [1059 kB] 541s Get:173 http://ftpmaster.internal/ubuntu oracular/universe arm64 xsel arm64 1.2.1-1 [20.1 kB] 545s Fetched 106 MB in 7s (15.3 MB/s) 545s Selecting previously unselected package libchafa0t64:arm64. 545s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78680 files and directories currently installed.) 545s Preparing to unpack .../000-libchafa0t64_1.14.0-1.1build1_arm64.deb ... 545s Unpacking libchafa0t64:arm64 (1.14.0-1.1build1) ... 545s Selecting previously unselected package libdav1d7:arm64. 546s Preparing to unpack .../001-libdav1d7_1.4.2-1_arm64.deb ... 546s Unpacking libdav1d7:arm64 (1.4.2-1) ... 546s Selecting previously unselected package libabsl20230802:arm64. 547s Preparing to unpack .../002-libabsl20230802_20230802.1-4_arm64.deb ... 547s Unpacking libabsl20230802:arm64 (20230802.1-4) ... 547s Selecting previously unselected package libgav1-1:arm64. 548s Preparing to unpack .../003-libgav1-1_0.19.0-2_arm64.deb ... 548s Unpacking libgav1-1:arm64 (0.19.0-2) ... 548s Selecting previously unselected package librav1e0:arm64. 549s Preparing to unpack .../004-librav1e0_0.7.1-2_arm64.deb ... 549s Unpacking librav1e0:arm64 (0.7.1-2) ... 549s Selecting previously unselected package libsvtav1enc1d1:arm64. 550s Preparing to unpack .../005-libsvtav1enc1d1_1.7.0+dfsg-2build1_arm64.deb ... 550s Unpacking libsvtav1enc1d1:arm64 (1.7.0+dfsg-2build1) ... 550s Selecting previously unselected package libyuv0:arm64. 550s Preparing to unpack .../006-libyuv0_0.0.1888.20240509-4_arm64.deb ... 550s Unpacking libyuv0:arm64 (0.0.1888.20240509-4) ... 550s Selecting previously unselected package libavif16:arm64. 550s Preparing to unpack .../007-libavif16_1.0.4-3ubuntu1_arm64.deb ... 550s Unpacking libavif16:arm64 (1.0.4-3ubuntu1) ... 550s Selecting previously unselected package libpixman-1-0:arm64. 551s Preparing to unpack .../008-libpixman-1-0_0.42.2-1build1_arm64.deb ... 551s Unpacking libpixman-1-0:arm64 (0.42.2-1build1) ... 551s Selecting previously unselected package libxcb-render0:arm64. 552s Preparing to unpack .../009-libxcb-render0_1.17.0-2_arm64.deb ... 552s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 552s Selecting previously unselected package libxcb-shm0:arm64. 552s Preparing to unpack .../010-libxcb-shm0_1.17.0-2_arm64.deb ... 552s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 552s Selecting previously unselected package libxrender1:arm64. 552s Preparing to unpack .../011-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 552s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 552s Selecting previously unselected package libcairo2:arm64. 552s Preparing to unpack .../012-libcairo2_1.18.0-3build1_arm64.deb ... 552s Unpacking libcairo2:arm64 (1.18.0-3build1) ... 553s Selecting previously unselected package libcairo-gobject2:arm64. 553s Preparing to unpack .../013-libcairo-gobject2_1.18.0-3build1_arm64.deb ... 553s Unpacking libcairo-gobject2:arm64 (1.18.0-3build1) ... 553s Selecting previously unselected package libgdk-pixbuf2.0-common. 553s Preparing to unpack .../014-libgdk-pixbuf2.0-common_2.42.12+dfsg-1_all.deb ... 553s Unpacking libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 553s Selecting previously unselected package libgdk-pixbuf-2.0-0:arm64. 553s Preparing to unpack .../015-libgdk-pixbuf-2.0-0_2.42.12+dfsg-1_arm64.deb ... 553s Unpacking libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 553s Selecting previously unselected package fontconfig. 553s Preparing to unpack .../016-fontconfig_2.15.0-1.1ubuntu2_arm64.deb ... 553s Unpacking fontconfig (2.15.0-1.1ubuntu2) ... 553s Selecting previously unselected package libgraphite2-3:arm64. 554s Preparing to unpack .../017-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 554s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 554s Selecting previously unselected package libharfbuzz0b:arm64. 554s Preparing to unpack .../018-libharfbuzz0b_8.3.0-2build2_arm64.deb ... 554s Unpacking libharfbuzz0b:arm64 (8.3.0-2build2) ... 554s Selecting previously unselected package libthai-data. 554s Preparing to unpack .../019-libthai-data_0.1.29-2build1_all.deb ... 554s Unpacking libthai-data (0.1.29-2build1) ... 554s Selecting previously unselected package libdatrie1:arm64. 554s Preparing to unpack .../020-libdatrie1_0.2.13-3build1_arm64.deb ... 554s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 554s Selecting previously unselected package libthai0:arm64. 555s Preparing to unpack .../021-libthai0_0.1.29-2build1_arm64.deb ... 555s Unpacking libthai0:arm64 (0.1.29-2build1) ... 555s Selecting previously unselected package libpango-1.0-0:arm64. 556s Preparing to unpack .../022-libpango-1.0-0_1.54.0+ds-1_arm64.deb ... 556s Unpacking libpango-1.0-0:arm64 (1.54.0+ds-1) ... 556s Selecting previously unselected package libpangoft2-1.0-0:arm64. 556s Preparing to unpack .../023-libpangoft2-1.0-0_1.54.0+ds-1_arm64.deb ... 556s Unpacking libpangoft2-1.0-0:arm64 (1.54.0+ds-1) ... 556s Selecting previously unselected package libpangocairo-1.0-0:arm64. 557s Preparing to unpack .../024-libpangocairo-1.0-0_1.54.0+ds-1_arm64.deb ... 557s Unpacking libpangocairo-1.0-0:arm64 (1.54.0+ds-1) ... 557s Selecting previously unselected package librsvg2-2:arm64. 557s Preparing to unpack .../025-librsvg2-2_2.58.0+dfsg-1build1_arm64.deb ... 557s Unpacking librsvg2-2:arm64 (2.58.0+dfsg-1build1) ... 557s Selecting previously unselected package libwebpdemux2:arm64. 557s Preparing to unpack .../026-libwebpdemux2_1.4.0-0.1_arm64.deb ... 557s Unpacking libwebpdemux2:arm64 (1.4.0-0.1) ... 557s Selecting previously unselected package chafa. 557s Preparing to unpack .../027-chafa_1.14.0-1.1build1_arm64.deb ... 557s Unpacking chafa (1.14.0-1.1build1) ... 558s Selecting previously unselected package libasound2-data. 558s Preparing to unpack .../028-libasound2-data_1.2.11-1build2_all.deb ... 558s Unpacking libasound2-data (1.2.11-1build2) ... 558s Selecting previously unselected package libasound2t64:arm64. 558s Preparing to unpack .../029-libasound2t64_1.2.11-1build2_arm64.deb ... 558s Unpacking libasound2t64:arm64 (1.2.11-1build2) ... 558s Selecting previously unselected package libunibreak6:arm64. 559s Preparing to unpack .../030-libunibreak6_6.1-2_arm64.deb ... 559s Unpacking libunibreak6:arm64 (6.1-2) ... 559s Selecting previously unselected package libass9:arm64. 559s Preparing to unpack .../031-libass9_1%3a0.17.2-2_arm64.deb ... 559s Unpacking libass9:arm64 (1:0.17.2-2) ... 559s Selecting previously unselected package libasyncns0:arm64. 559s Preparing to unpack .../032-libasyncns0_0.8-6build4_arm64.deb ... 559s Unpacking libasyncns0:arm64 (0.8-6build4) ... 559s Selecting previously unselected package libva2:arm64. 560s Preparing to unpack .../033-libva2_2.21.0-1_arm64.deb ... 560s Unpacking libva2:arm64 (2.21.0-1) ... 560s Selecting previously unselected package libva-drm2:arm64. 560s Preparing to unpack .../034-libva-drm2_2.21.0-1_arm64.deb ... 560s Unpacking libva-drm2:arm64 (2.21.0-1) ... 560s Selecting previously unselected package libx11-xcb1:arm64. 561s Preparing to unpack .../035-libx11-xcb1_2%3a1.8.7-1build1_arm64.deb ... 561s Unpacking libx11-xcb1:arm64 (2:1.8.7-1build1) ... 561s Selecting previously unselected package libxcb-dri3-0:arm64. 561s Preparing to unpack .../036-libxcb-dri3-0_1.17.0-2_arm64.deb ... 561s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 561s Selecting previously unselected package libxfixes3:arm64. 562s Preparing to unpack .../037-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 562s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 562s Selecting previously unselected package libva-x11-2:arm64. 562s Preparing to unpack .../038-libva-x11-2_2.21.0-1_arm64.deb ... 562s Unpacking libva-x11-2:arm64 (2.21.0-1) ... 562s Selecting previously unselected package libvdpau1:arm64. 562s Preparing to unpack .../039-libvdpau1_1.5-3_arm64.deb ... 562s Unpacking libvdpau1:arm64 (1.5-3) ... 563s Selecting previously unselected package ocl-icd-libopencl1:arm64. 563s Preparing to unpack .../040-ocl-icd-libopencl1_2.3.2-1build1_arm64.deb ... 563s Unpacking ocl-icd-libopencl1:arm64 (2.3.2-1build1) ... 563s Selecting previously unselected package libavutil58:arm64. 564s Preparing to unpack .../041-libavutil58_7%3a6.1.1-4ubuntu3_arm64.deb ... 564s Unpacking libavutil58:arm64 (7:6.1.1-4ubuntu3) ... 564s Selecting previously unselected package libcodec2-1.2:arm64. 565s Preparing to unpack .../042-libcodec2-1.2_1.2.0-2build1_arm64.deb ... 565s Unpacking libcodec2-1.2:arm64 (1.2.0-2build1) ... 565s Selecting previously unselected package libgsm1:arm64. 567s Preparing to unpack .../043-libgsm1_1.0.22-1build1_arm64.deb ... 567s Unpacking libgsm1:arm64 (1.0.22-1build1) ... 567s Selecting previously unselected package libgif7:arm64. 567s Preparing to unpack .../044-libgif7_5.2.2-1ubuntu1_arm64.deb ... 567s Unpacking libgif7:arm64 (5.2.2-1ubuntu1) ... 567s Selecting previously unselected package libhwy1t64:arm64. 568s Preparing to unpack .../045-libhwy1t64_1.2.0-2_arm64.deb ... 568s Unpacking libhwy1t64:arm64 (1.2.0-2) ... 568s Selecting previously unselected package liblcms2-2:arm64. 568s Preparing to unpack .../046-liblcms2-2_2.14-2build1_arm64.deb ... 568s Unpacking liblcms2-2:arm64 (2.14-2build1) ... 568s Selecting previously unselected package libimath-3-1-29t64:arm64. 568s Preparing to unpack .../047-libimath-3-1-29t64_3.1.9-3.1ubuntu2_arm64.deb ... 568s Unpacking libimath-3-1-29t64:arm64 (3.1.9-3.1ubuntu2) ... 569s Selecting previously unselected package libopenexr-3-1-30:arm64. 569s Preparing to unpack .../048-libopenexr-3-1-30_3.1.5-5.1build3_arm64.deb ... 569s Unpacking libopenexr-3-1-30:arm64 (3.1.5-5.1build3) ... 569s Selecting previously unselected package libjxl0.9:arm64. 569s Preparing to unpack .../049-libjxl0.9_0.9.2-9_arm64.deb ... 569s Unpacking libjxl0.9:arm64 (0.9.2-9) ... 569s Selecting previously unselected package libmp3lame0:arm64. 569s Preparing to unpack .../050-libmp3lame0_3.100-6build1_arm64.deb ... 569s Unpacking libmp3lame0:arm64 (3.100-6build1) ... 569s Selecting previously unselected package libopenjp2-7:arm64. 570s Preparing to unpack .../051-libopenjp2-7_2.5.0-2build3_arm64.deb ... 570s Unpacking libopenjp2-7:arm64 (2.5.0-2build3) ... 570s Selecting previously unselected package libopus0:arm64. 570s Preparing to unpack .../052-libopus0_1.5.2-1_arm64.deb ... 570s Unpacking libopus0:arm64 (1.5.2-1) ... 570s Selecting previously unselected package libshine3:arm64. 570s Preparing to unpack .../053-libshine3_3.1.1-2build1_arm64.deb ... 570s Unpacking libshine3:arm64 (3.1.1-2build1) ... 570s Selecting previously unselected package libsnappy1v5:arm64. 571s Preparing to unpack .../054-libsnappy1v5_1.2.1-1_arm64.deb ... 571s Unpacking libsnappy1v5:arm64 (1.2.1-1) ... 571s Selecting previously unselected package libspeex1:arm64. 571s Preparing to unpack .../055-libspeex1_1.2.1-2ubuntu2_arm64.deb ... 571s Unpacking libspeex1:arm64 (1.2.1-2ubuntu2) ... 571s Selecting previously unselected package libgomp1:arm64. 571s Preparing to unpack .../056-libgomp1_14.1.0-1ubuntu1_arm64.deb ... 571s Unpacking libgomp1:arm64 (14.1.0-1ubuntu1) ... 571s Selecting previously unselected package libsoxr0:arm64. 571s Preparing to unpack .../057-libsoxr0_0.1.3-4build3_arm64.deb ... 571s Unpacking libsoxr0:arm64 (0.1.3-4build3) ... 571s Selecting previously unselected package libswresample4:arm64. 572s Preparing to unpack .../058-libswresample4_7%3a6.1.1-4ubuntu3_arm64.deb ... 572s Unpacking libswresample4:arm64 (7:6.1.1-4ubuntu3) ... 572s Selecting previously unselected package libogg0:arm64. 572s Preparing to unpack .../059-libogg0_1.3.5-3build1_arm64.deb ... 572s Unpacking libogg0:arm64 (1.3.5-3build1) ... 572s Selecting previously unselected package libtheora0:arm64. 572s Preparing to unpack .../060-libtheora0_1.1.1+dfsg.1-16.1build3_arm64.deb ... 572s Unpacking libtheora0:arm64 (1.1.1+dfsg.1-16.1build3) ... 572s Selecting previously unselected package libtwolame0:arm64. 572s Preparing to unpack .../061-libtwolame0_0.4.0-2build3_arm64.deb ... 572s Unpacking libtwolame0:arm64 (0.4.0-2build3) ... 572s Selecting previously unselected package libvorbis0a:arm64. 573s Preparing to unpack .../062-libvorbis0a_1.3.7-2_arm64.deb ... 573s Unpacking libvorbis0a:arm64 (1.3.7-2) ... 573s Selecting previously unselected package libvorbisenc2:arm64. 573s Preparing to unpack .../063-libvorbisenc2_1.3.7-2_arm64.deb ... 573s Unpacking libvorbisenc2:arm64 (1.3.7-2) ... 573s Selecting previously unselected package libvpx9:arm64. 573s Preparing to unpack .../064-libvpx9_1.14.1-1ubuntu1_arm64.deb ... 573s Unpacking libvpx9:arm64 (1.14.1-1ubuntu1) ... 574s Selecting previously unselected package libwebpmux3:arm64. 574s Preparing to unpack .../065-libwebpmux3_1.4.0-0.1_arm64.deb ... 574s Unpacking libwebpmux3:arm64 (1.4.0-0.1) ... 574s Selecting previously unselected package libx264-164:arm64. 574s Preparing to unpack .../066-libx264-164_2%3a0.164.3108+git31e19f9-1_arm64.deb ... 574s Unpacking libx264-164:arm64 (2:0.164.3108+git31e19f9-1) ... 574s Selecting previously unselected package libx265-209:arm64. 574s Preparing to unpack .../067-libx265-209_3.6-3_arm64.deb ... 574s Unpacking libx265-209:arm64 (3.6-3) ... 574s Selecting previously unselected package libxvidcore4:arm64. 574s Preparing to unpack .../068-libxvidcore4_2%3a1.3.7-1build1_arm64.deb ... 574s Unpacking libxvidcore4:arm64 (2:1.3.7-1build1) ... 574s Selecting previously unselected package libzvbi-common. 574s Preparing to unpack .../069-libzvbi-common_0.2.42-2_all.deb ... 574s Unpacking libzvbi-common (0.2.42-2) ... 574s Selecting previously unselected package libzvbi0t64:arm64. 574s Preparing to unpack .../070-libzvbi0t64_0.2.42-2_arm64.deb ... 574s Unpacking libzvbi0t64:arm64 (0.2.42-2) ... 575s Selecting previously unselected package libavcodec60:arm64. 575s Preparing to unpack .../071-libavcodec60_7%3a6.1.1-4ubuntu3_arm64.deb ... 575s Unpacking libavcodec60:arm64 (7:6.1.1-4ubuntu3) ... 575s Selecting previously unselected package libraw1394-11:arm64. 575s Preparing to unpack .../072-libraw1394-11_2.1.2-2build3_arm64.deb ... 575s Unpacking libraw1394-11:arm64 (2.1.2-2build3) ... 575s Selecting previously unselected package libavc1394-0:arm64. 575s Preparing to unpack .../073-libavc1394-0_0.5.4-5build3_arm64.deb ... 575s Unpacking libavc1394-0:arm64 (0.5.4-5build3) ... 575s Selecting previously unselected package libudfread0:arm64. 576s Preparing to unpack .../074-libudfread0_1.1.2-1build1_arm64.deb ... 576s Unpacking libudfread0:arm64 (1.1.2-1build1) ... 576s Selecting previously unselected package libbluray2:arm64. 576s Preparing to unpack .../075-libbluray2_1%3a1.3.4-1build1_arm64.deb ... 576s Unpacking libbluray2:arm64 (1:1.3.4-1build1) ... 576s Selecting previously unselected package libchromaprint1:arm64. 576s Preparing to unpack .../076-libchromaprint1_1.5.1-5_arm64.deb ... 576s Unpacking libchromaprint1:arm64 (1.5.1-5) ... 576s Selecting previously unselected package libgme0:arm64. 577s Preparing to unpack .../077-libgme0_0.6.3-7build1_arm64.deb ... 577s Unpacking libgme0:arm64 (0.6.3-7build1) ... 577s Selecting previously unselected package libmpg123-0t64:arm64. 577s Preparing to unpack .../078-libmpg123-0t64_1.32.6-3_arm64.deb ... 577s Unpacking libmpg123-0t64:arm64 (1.32.6-3) ... 577s Selecting previously unselected package libvorbisfile3:arm64. 577s Preparing to unpack .../079-libvorbisfile3_1.3.7-2_arm64.deb ... 577s Unpacking libvorbisfile3:arm64 (1.3.7-2) ... 577s Selecting previously unselected package libopenmpt0t64:arm64. 577s Preparing to unpack .../080-libopenmpt0t64_0.7.8-1_arm64.deb ... 577s Unpacking libopenmpt0t64:arm64 (0.7.8-1) ... 578s Selecting previously unselected package librabbitmq4:arm64. 578s Preparing to unpack .../081-librabbitmq4_0.11.0-1build2_arm64.deb ... 578s Unpacking librabbitmq4:arm64 (0.11.0-1build2) ... 578s Selecting previously unselected package libcjson1:arm64. 578s Preparing to unpack .../082-libcjson1_1.7.18-3_arm64.deb ... 578s Unpacking libcjson1:arm64 (1.7.18-3) ... 578s Selecting previously unselected package libmbedcrypto7t64:arm64. 578s Preparing to unpack .../083-libmbedcrypto7t64_2.28.8-1_arm64.deb ... 578s Unpacking libmbedcrypto7t64:arm64 (2.28.8-1) ... 578s Selecting previously unselected package librist4:arm64. 579s Preparing to unpack .../084-librist4_0.2.10+dfsg-2_arm64.deb ... 579s Unpacking librist4:arm64 (0.2.10+dfsg-2) ... 579s Selecting previously unselected package libsrt1.5-gnutls:arm64. 579s Preparing to unpack .../085-libsrt1.5-gnutls_1.5.3-1build2_arm64.deb ... 579s Unpacking libsrt1.5-gnutls:arm64 (1.5.3-1build2) ... 579s Selecting previously unselected package libssh-gcrypt-4:arm64. 579s Preparing to unpack .../086-libssh-gcrypt-4_0.10.6-3_arm64.deb ... 579s Unpacking libssh-gcrypt-4:arm64 (0.10.6-3) ... 579s Selecting previously unselected package libnorm1t64:arm64. 580s Preparing to unpack .../087-libnorm1t64_1.5.9+dfsg-3.1build1_arm64.deb ... 580s Unpacking libnorm1t64:arm64 (1.5.9+dfsg-3.1build1) ... 580s Selecting previously unselected package libpgm-5.3-0t64:arm64. 580s Preparing to unpack .../088-libpgm-5.3-0t64_5.3.128~dfsg-2.1build1_arm64.deb ... 580s Unpacking libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1build1) ... 580s Selecting previously unselected package libsodium23:arm64. 580s Preparing to unpack .../089-libsodium23_1.0.18-1build3_arm64.deb ... 580s Unpacking libsodium23:arm64 (1.0.18-1build3) ... 581s Selecting previously unselected package libzmq5:arm64. 582s Preparing to unpack .../090-libzmq5_4.3.5-1build2_arm64.deb ... 582s Unpacking libzmq5:arm64 (4.3.5-1build2) ... 582s Selecting previously unselected package libavformat60:arm64. 583s Preparing to unpack .../091-libavformat60_7%3a6.1.1-4ubuntu3_arm64.deb ... 583s Unpacking libavformat60:arm64 (7:6.1.1-4ubuntu3) ... 583s Selecting previously unselected package libbs2b0:arm64. 583s Preparing to unpack .../092-libbs2b0_3.1.0+dfsg-8_arm64.deb ... 583s Unpacking libbs2b0:arm64 (3.1.0+dfsg-8) ... 583s Selecting previously unselected package libflite1:arm64. 584s Preparing to unpack .../093-libflite1_2.2-6build3_arm64.deb ... 584s Unpacking libflite1:arm64 (2.2-6build3) ... 584s Selecting previously unselected package libserd-0-0:arm64. 584s Preparing to unpack .../094-libserd-0-0_0.32.2-1_arm64.deb ... 584s Unpacking libserd-0-0:arm64 (0.32.2-1) ... 585s Selecting previously unselected package libzix-0-0:arm64. 585s Preparing to unpack .../095-libzix-0-0_0.4.2-2build1_arm64.deb ... 585s Unpacking libzix-0-0:arm64 (0.4.2-2build1) ... 585s Selecting previously unselected package libsord-0-0:arm64. 585s Preparing to unpack .../096-libsord-0-0_0.16.16-2build1_arm64.deb ... 585s Unpacking libsord-0-0:arm64 (0.16.16-2build1) ... 585s Selecting previously unselected package libsratom-0-0:arm64. 585s Preparing to unpack .../097-libsratom-0-0_0.6.16-1build1_arm64.deb ... 585s Unpacking libsratom-0-0:arm64 (0.6.16-1build1) ... 585s Selecting previously unselected package liblilv-0-0:arm64. 586s Preparing to unpack .../098-liblilv-0-0_0.24.24-2_arm64.deb ... 586s Unpacking liblilv-0-0:arm64 (0.24.24-2) ... 586s Selecting previously unselected package libmysofa1:arm64. 587s Preparing to unpack .../099-libmysofa1_1.3.2+dfsg-2ubuntu2_arm64.deb ... 587s Unpacking libmysofa1:arm64 (1.3.2+dfsg-2ubuntu2) ... 587s Selecting previously unselected package libvulkan1:arm64. 587s Preparing to unpack .../100-libvulkan1_1.3.283.0-1_arm64.deb ... 587s Unpacking libvulkan1:arm64 (1.3.283.0-1) ... 587s Selecting previously unselected package libplacebo338:arm64. 587s Preparing to unpack .../101-libplacebo338_6.338.2-2build1_arm64.deb ... 587s Unpacking libplacebo338:arm64 (6.338.2-2build1) ... 587s Selecting previously unselected package libblas3:arm64. 588s Preparing to unpack .../102-libblas3_3.12.0-3build1_arm64.deb ... 588s Unpacking libblas3:arm64 (3.12.0-3build1) ... 588s Selecting previously unselected package libgfortran5:arm64. 588s Preparing to unpack .../103-libgfortran5_14.1.0-1ubuntu1_arm64.deb ... 588s Unpacking libgfortran5:arm64 (14.1.0-1ubuntu1) ... 588s Selecting previously unselected package liblapack3:arm64. 589s Preparing to unpack .../104-liblapack3_3.12.0-3build1_arm64.deb ... 589s Unpacking liblapack3:arm64 (3.12.0-3build1) ... 589s Selecting previously unselected package libflac12t64:arm64. 589s Preparing to unpack .../105-libflac12t64_1.4.3+ds-2.1ubuntu2_arm64.deb ... 589s Unpacking libflac12t64:arm64 (1.4.3+ds-2.1ubuntu2) ... 589s Selecting previously unselected package libsndfile1:arm64. 589s Preparing to unpack .../106-libsndfile1_1.2.2-1ubuntu5_arm64.deb ... 589s Unpacking libsndfile1:arm64 (1.2.2-1ubuntu5) ... 589s Selecting previously unselected package libpulse0:arm64. 589s Preparing to unpack .../107-libpulse0_1%3a16.1+dfsg1-5.1ubuntu1_arm64.deb ... 589s Unpacking libpulse0:arm64 (1:16.1+dfsg1-5.1ubuntu1) ... 589s Selecting previously unselected package libsphinxbase3t64:arm64. 590s Preparing to unpack .../108-libsphinxbase3t64_0.8+5prealpha+1-17build2_arm64.deb ... 590s Unpacking libsphinxbase3t64:arm64 (0.8+5prealpha+1-17build2) ... 590s Selecting previously unselected package libpocketsphinx3:arm64. 590s Preparing to unpack .../109-libpocketsphinx3_0.8.0+real5prealpha+1-15ubuntu5_arm64.deb ... 590s Unpacking libpocketsphinx3:arm64 (0.8.0+real5prealpha+1-15ubuntu5) ... 590s Selecting previously unselected package libpostproc57:arm64. 590s Preparing to unpack .../110-libpostproc57_7%3a6.1.1-4ubuntu3_arm64.deb ... 590s Unpacking libpostproc57:arm64 (7:6.1.1-4ubuntu3) ... 590s Selecting previously unselected package libfftw3-double3:arm64. 590s Preparing to unpack .../111-libfftw3-double3_3.3.10-1ubuntu3_arm64.deb ... 590s Unpacking libfftw3-double3:arm64 (3.3.10-1ubuntu3) ... 590s Selecting previously unselected package libsamplerate0:arm64. 590s Preparing to unpack .../112-libsamplerate0_0.2.2-4build1_arm64.deb ... 590s Unpacking libsamplerate0:arm64 (0.2.2-4build1) ... 590s Selecting previously unselected package librubberband2:arm64. 590s Preparing to unpack .../113-librubberband2_3.3.0+dfsg-2build1_arm64.deb ... 590s Unpacking librubberband2:arm64 (3.3.0+dfsg-2build1) ... 590s Selecting previously unselected package libswscale7:arm64. 591s Preparing to unpack .../114-libswscale7_7%3a6.1.1-4ubuntu3_arm64.deb ... 591s Unpacking libswscale7:arm64 (7:6.1.1-4ubuntu3) ... 591s Selecting previously unselected package libvidstab1.1:arm64. 591s Preparing to unpack .../115-libvidstab1.1_1.1.0-2build1_arm64.deb ... 591s Unpacking libvidstab1.1:arm64 (1.1.0-2build1) ... 591s Selecting previously unselected package libzimg2:arm64. 591s Preparing to unpack .../116-libzimg2_3.0.5+ds1-1build1_arm64.deb ... 591s Unpacking libzimg2:arm64 (3.0.5+ds1-1build1) ... 591s Selecting previously unselected package libavfilter9:arm64. 591s Preparing to unpack .../117-libavfilter9_7%3a6.1.1-4ubuntu3_arm64.deb ... 591s Unpacking libavfilter9:arm64 (7:6.1.1-4ubuntu3) ... 592s Selecting previously unselected package libcaca0:arm64. 592s Preparing to unpack .../118-libcaca0_0.99.beta20-4build2_arm64.deb ... 592s Unpacking libcaca0:arm64 (0.99.beta20-4build2) ... 592s Selecting previously unselected package libcdio19t64:arm64. 592s Preparing to unpack .../119-libcdio19t64_2.1.0-4.2_arm64.deb ... 592s Unpacking libcdio19t64:arm64 (2.1.0-4.2) ... 592s Selecting previously unselected package libcdio-cdda2t64:arm64. 593s Preparing to unpack .../120-libcdio-cdda2t64_10.2+2.0.2-1_arm64.deb ... 593s Unpacking libcdio-cdda2t64:arm64 (10.2+2.0.2-1) ... 593s Selecting previously unselected package libcdio-paranoia2t64:arm64. 593s Preparing to unpack .../121-libcdio-paranoia2t64_10.2+2.0.2-1_arm64.deb ... 593s Unpacking libcdio-paranoia2t64:arm64 (10.2+2.0.2-1) ... 593s Selecting previously unselected package libdc1394-25:arm64. 594s Preparing to unpack .../122-libdc1394-25_2.2.6-4build1_arm64.deb ... 594s Unpacking libdc1394-25:arm64 (2.2.6-4build1) ... 594s Selecting previously unselected package libglvnd0:arm64. 594s Preparing to unpack .../123-libglvnd0_1.7.0-1build1_arm64.deb ... 594s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 595s Selecting previously unselected package libglapi-mesa:arm64. 597s Preparing to unpack .../124-libglapi-mesa_24.0.9-0ubuntu1_arm64.deb ... 597s Unpacking libglapi-mesa:arm64 (24.0.9-0ubuntu1) ... 597s Selecting previously unselected package libxcb-dri2-0:arm64. 599s Preparing to unpack .../125-libxcb-dri2-0_1.17.0-2_arm64.deb ... 599s Unpacking libxcb-dri2-0:arm64 (1.17.0-2) ... 599s Selecting previously unselected package libxcb-glx0:arm64. 600s Preparing to unpack .../126-libxcb-glx0_1.17.0-2_arm64.deb ... 600s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 600s Selecting previously unselected package libxcb-present0:arm64. 600s Preparing to unpack .../127-libxcb-present0_1.17.0-2_arm64.deb ... 600s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 600s Selecting previously unselected package libxcb-randr0:arm64. 601s Preparing to unpack .../128-libxcb-randr0_1.17.0-2_arm64.deb ... 601s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 601s Selecting previously unselected package libxcb-sync1:arm64. 602s Preparing to unpack .../129-libxcb-sync1_1.17.0-2_arm64.deb ... 602s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 602s Selecting previously unselected package libxcb-xfixes0:arm64. 602s Preparing to unpack .../130-libxcb-xfixes0_1.17.0-2_arm64.deb ... 602s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 602s Selecting previously unselected package libxshmfence1:arm64. 602s Preparing to unpack .../131-libxshmfence1_1.3-1build5_arm64.deb ... 602s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 602s Selecting previously unselected package libxxf86vm1:arm64. 603s Preparing to unpack .../132-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 603s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 603s Selecting previously unselected package libdrm-amdgpu1:arm64. 603s Preparing to unpack .../133-libdrm-amdgpu1_2.4.121-2_arm64.deb ... 603s Unpacking libdrm-amdgpu1:arm64 (2.4.121-2) ... 603s Selecting previously unselected package libdrm-nouveau2:arm64. 603s Preparing to unpack .../134-libdrm-nouveau2_2.4.121-2_arm64.deb ... 603s Unpacking libdrm-nouveau2:arm64 (2.4.121-2) ... 603s Selecting previously unselected package libdrm-radeon1:arm64. 604s Preparing to unpack .../135-libdrm-radeon1_2.4.121-2_arm64.deb ... 604s Unpacking libdrm-radeon1:arm64 (2.4.121-2) ... 604s Selecting previously unselected package libllvm17t64:arm64. 604s Preparing to unpack .../136-libllvm17t64_1%3a17.0.6-12_arm64.deb ... 604s Unpacking libllvm17t64:arm64 (1:17.0.6-12) ... 604s Selecting previously unselected package libgl1-mesa-dri:arm64. 605s Preparing to unpack .../137-libgl1-mesa-dri_24.0.9-0ubuntu1_arm64.deb ... 605s Unpacking libgl1-mesa-dri:arm64 (24.0.9-0ubuntu1) ... 605s Selecting previously unselected package libglx-mesa0:arm64. 605s Preparing to unpack .../138-libglx-mesa0_24.0.9-0ubuntu1_arm64.deb ... 605s Unpacking libglx-mesa0:arm64 (24.0.9-0ubuntu1) ... 605s Selecting previously unselected package libglx0:arm64. 605s Preparing to unpack .../139-libglx0_1.7.0-1build1_arm64.deb ... 605s Unpacking libglx0:arm64 (1.7.0-1build1) ... 605s Selecting previously unselected package libgl1:arm64. 605s Preparing to unpack .../140-libgl1_1.7.0-1build1_arm64.deb ... 605s Unpacking libgl1:arm64 (1.7.0-1build1) ... 605s Selecting previously unselected package libiec61883-0:arm64. 605s Preparing to unpack .../141-libiec61883-0_1.2.0-6build1_arm64.deb ... 605s Unpacking libiec61883-0:arm64 (1.2.0-6build1) ... 605s Selecting previously unselected package libjack-jackd2-0:arm64. 605s Preparing to unpack .../142-libjack-jackd2-0_1.9.21~dfsg-3ubuntu3_arm64.deb ... 605s Unpacking libjack-jackd2-0:arm64 (1.9.21~dfsg-3ubuntu3) ... 605s Selecting previously unselected package libopenal-data. 605s Preparing to unpack .../143-libopenal-data_1%3a1.23.1-4build1_all.deb ... 605s Unpacking libopenal-data (1:1.23.1-4build1) ... 605s Selecting previously unselected package libsndio7.0:arm64. 606s Preparing to unpack .../144-libsndio7.0_1.9.0-0.3build3_arm64.deb ... 606s Unpacking libsndio7.0:arm64 (1.9.0-0.3build3) ... 606s Selecting previously unselected package libopenal1:arm64. 606s Preparing to unpack .../145-libopenal1_1%3a1.23.1-4build1_arm64.deb ... 606s Unpacking libopenal1:arm64 (1:1.23.1-4build1) ... 606s Selecting previously unselected package libwayland-client0:arm64. 606s Preparing to unpack .../146-libwayland-client0_1.22.0-2.1build1_arm64.deb ... 606s Unpacking libwayland-client0:arm64 (1.22.0-2.1build1) ... 606s Selecting previously unselected package libdecor-0-0:arm64. 607s Preparing to unpack .../147-libdecor-0-0_0.2.2-1build2_arm64.deb ... 607s Unpacking libdecor-0-0:arm64 (0.2.2-1build2) ... 607s Selecting previously unselected package libwayland-server0:arm64. 607s Preparing to unpack .../148-libwayland-server0_1.22.0-2.1build1_arm64.deb ... 607s Unpacking libwayland-server0:arm64 (1.22.0-2.1build1) ... 607s Selecting previously unselected package libgbm1:arm64. 608s Preparing to unpack .../149-libgbm1_24.0.9-0ubuntu1_arm64.deb ... 608s Unpacking libgbm1:arm64 (24.0.9-0ubuntu1) ... 608s Selecting previously unselected package libwayland-cursor0:arm64. 608s Preparing to unpack .../150-libwayland-cursor0_1.22.0-2.1build1_arm64.deb ... 608s Unpacking libwayland-cursor0:arm64 (1.22.0-2.1build1) ... 608s Selecting previously unselected package libwayland-egl1:arm64. 609s Preparing to unpack .../151-libwayland-egl1_1.22.0-2.1build1_arm64.deb ... 609s Unpacking libwayland-egl1:arm64 (1.22.0-2.1build1) ... 609s Selecting previously unselected package libxcursor1:arm64. 609s Preparing to unpack .../152-libxcursor1_1%3a1.2.2-1_arm64.deb ... 609s Unpacking libxcursor1:arm64 (1:1.2.2-1) ... 609s Selecting previously unselected package libxi6:arm64. 609s Preparing to unpack .../153-libxi6_2%3a1.8.1-1build1_arm64.deb ... 609s Unpacking libxi6:arm64 (2:1.8.1-1build1) ... 609s Selecting previously unselected package libxrandr2:arm64. 609s Preparing to unpack .../154-libxrandr2_2%3a1.5.4-1_arm64.deb ... 609s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 609s Selecting previously unselected package x11-common. 609s Preparing to unpack .../155-x11-common_1%3a7.7+23ubuntu3_all.deb ... 609s Unpacking x11-common (1:7.7+23ubuntu3) ... 609s Selecting previously unselected package libxss1:arm64. 610s Preparing to unpack .../156-libxss1_1%3a1.2.3-1build3_arm64.deb ... 610s Unpacking libxss1:arm64 (1:1.2.3-1build3) ... 610s Selecting previously unselected package libsdl2-2.0-0:arm64. 611s Preparing to unpack .../157-libsdl2-2.0-0_2.30.4+dfsg-1_arm64.deb ... 611s Unpacking libsdl2-2.0-0:arm64 (2.30.4+dfsg-1) ... 611s Selecting previously unselected package libxcb-shape0:arm64. 611s Preparing to unpack .../158-libxcb-shape0_1.17.0-2_arm64.deb ... 611s Unpacking libxcb-shape0:arm64 (1.17.0-2) ... 611s Selecting previously unselected package libxv1:arm64. 611s Preparing to unpack .../159-libxv1_2%3a1.0.11-1.1build1_arm64.deb ... 611s Unpacking libxv1:arm64 (2:1.0.11-1.1build1) ... 612s Selecting previously unselected package libavdevice60:arm64. 612s Preparing to unpack .../160-libavdevice60_7%3a6.1.1-4ubuntu3_arm64.deb ... 612s Unpacking libavdevice60:arm64 (7:6.1.1-4ubuntu3) ... 612s Selecting previously unselected package libexif12:arm64. 612s Preparing to unpack .../161-libexif12_0.6.24-1build2_arm64.deb ... 612s Unpacking libexif12:arm64 (0.6.24-1build2) ... 612s Selecting previously unselected package libwmflite-0.2-7:arm64. 613s Preparing to unpack .../162-libwmflite-0.2-7_0.2.13-1.1build3_arm64.deb ... 613s Unpacking libwmflite-0.2-7:arm64 (0.2.13-1.1build3) ... 613s Selecting previously unselected package libgraphicsmagick-q16-3t64. 613s Preparing to unpack .../163-libgraphicsmagick-q16-3t64_1.4+really1.3.43-1build2_arm64.deb ... 613s Unpacking libgraphicsmagick-q16-3t64 (1.4+really1.3.43-1build2) ... 613s Selecting previously unselected package libgraphicsmagick++-q16-12t64. 613s Preparing to unpack .../164-libgraphicsmagick++-q16-12t64_1.4+really1.3.43-1build2_arm64.deb ... 613s Unpacking libgraphicsmagick++-q16-12t64 (1.4+really1.3.43-1build2) ... 613s Selecting previously unselected package libopenslide0. 614s Preparing to unpack .../165-libopenslide0_3.4.1+dfsg-7build2_arm64.deb ... 614s Unpacking libopenslide0 (3.4.1+dfsg-7build2) ... 614s Selecting previously unselected package libpoppler137:arm64. 615s Preparing to unpack .../166-libpoppler137_24.06.0-2_arm64.deb ... 615s Unpacking libpoppler137:arm64 (24.06.0-2) ... 615s Selecting previously unselected package libpoppler-glib8t64:arm64. 616s Preparing to unpack .../167-libpoppler-glib8t64_24.06.0-2_arm64.deb ... 616s Unpacking libpoppler-glib8t64:arm64 (24.06.0-2) ... 616s Selecting previously unselected package libturbojpeg:arm64. 617s Preparing to unpack .../168-libturbojpeg_1%3a2.1.5-2ubuntu2_arm64.deb ... 617s Unpacking libturbojpeg:arm64 (1:2.1.5-2ubuntu2) ... 617s Selecting previously unselected package libsixel1:arm64. 618s Preparing to unpack .../169-libsixel1_1.10.3-3build1_arm64.deb ... 618s Unpacking libsixel1:arm64 (1.10.3-3build1) ... 618s Selecting previously unselected package timg. 619s Preparing to unpack .../170-timg_1.6.0-1_arm64.deb ... 619s Unpacking timg (1.6.0-1) ... 619s Selecting previously unselected package xsel. 620s Preparing to unpack .../171-xsel_1.2.1-1_arm64.deb ... 620s Unpacking xsel (1.2.1-1) ... 620s Selecting previously unselected package autopkgtest-satdep. 620s Preparing to unpack .../172-3-autopkgtest-satdep.deb ... 620s Unpacking autopkgtest-satdep (0) ... 620s Setting up libgme0:arm64 (0.6.3-7build1) ... 620s Setting up libchromaprint1:arm64 (1.5.1-5) ... 620s Setting up libssh-gcrypt-4:arm64 (0.10.6-3) ... 620s Setting up libhwy1t64:arm64 (1.2.0-2) ... 620s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 620s Setting up xsel (1.2.1-1) ... 620s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 620s Setting up liblcms2-2:arm64 (2.14-2build1) ... 620s Setting up libpixman-1-0:arm64 (0.42.2-1build1) ... 620s Setting up libudfread0:arm64 (1.1.2-1build1) ... 620s Setting up libnorm1t64:arm64 (1.5.9+dfsg-3.1build1) ... 620s Setting up libwayland-server0:arm64 (1.22.0-2.1build1) ... 620s Setting up libx11-xcb1:arm64 (2:1.8.7-1build1) ... 620s Setting up fontconfig (2.15.0-1.1ubuntu2) ... 623s Regenerating fonts cache... done. 623s Setting up librabbitmq4:arm64 (0.11.0-1build2) ... 623s Setting up libraw1394-11:arm64 (2.1.2-2build3) ... 623s Setting up libdrm-nouveau2:arm64 (2.4.121-2) ... 623s Setting up libsodium23:arm64 (1.0.18-1build3) ... 623s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 623s Setting up libogg0:arm64 (1.3.5-3build1) ... 623s Setting up libspeex1:arm64 (1.2.1-2ubuntu2) ... 623s Setting up libshine3:arm64 (3.1.1-2build1) ... 623s Setting up libcaca0:arm64 (0.99.beta20-4build2) ... 623s Setting up libwmflite-0.2-7:arm64 (0.2.13-1.1build3) ... 623s Setting up libxi6:arm64 (2:1.8.1-1build1) ... 623s Setting up libx264-164:arm64 (2:0.164.3108+git31e19f9-1) ... 623s Setting up libtwolame0:arm64 (0.4.0-2build3) ... 623s Setting up libmbedcrypto7t64:arm64 (2.28.8-1) ... 623s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 623s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 623s Setting up libgsm1:arm64 (1.0.22-1build1) ... 623s Setting up libxcb-render0:arm64 (1.17.0-2) ... 623s Setting up libzix-0-0:arm64 (0.4.2-2build1) ... 623s Setting up libdrm-radeon1:arm64 (2.4.121-2) ... 623s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 623s Setting up libcodec2-1.2:arm64 (1.2.0-2build1) ... 623s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 623s Setting up libwebpdemux2:arm64 (1.4.0-0.1) ... 623s Setting up libgdk-pixbuf2.0-common (2.42.12+dfsg-1) ... 623s Setting up libmysofa1:arm64 (1.3.2+dfsg-2ubuntu2) ... 623s Setting up libxcb-shape0:arm64 (1.17.0-2) ... 623s Setting up x11-common (1:7.7+23ubuntu3) ... 624s Setting up libcdio19t64:arm64 (2.1.0-4.2) ... 624s Setting up libsvtav1enc1d1:arm64 (1.7.0+dfsg-2build1) ... 624s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 624s Setting up libchafa0t64:arm64 (1.14.0-1.1build1) ... 624s Setting up libmpg123-0t64:arm64 (1.32.6-3) ... 624s Setting up libgomp1:arm64 (14.1.0-1ubuntu1) ... 624s Setting up libcjson1:arm64 (1.7.18-3) ... 624s Setting up libxvidcore4:arm64 (2:1.3.7-1build1) ... 624s Setting up libcairo2:arm64 (1.18.0-3build1) ... 624s Setting up librav1e0:arm64 (0.7.1-2) ... 624s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 624s Setting up libsnappy1v5:arm64 (1.2.1-1) ... 624s Setting up libcdio-cdda2t64:arm64 (10.2+2.0.2-1) ... 624s Setting up librist4:arm64 (0.2.10+dfsg-2) ... 624s Setting up libxcb-present0:arm64 (1.17.0-2) ... 624s Setting up libasound2-data (1.2.11-1build2) ... 624s Setting up libpgm-5.3-0t64:arm64 (5.3.128~dfsg-2.1build1) ... 624s Setting up libblas3:arm64 (3.12.0-3build1) ... 625s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode 625s Setting up libasound2t64:arm64 (1.2.11-1build2) ... 625s Setting up libllvm17t64:arm64 (1:17.0.6-12) ... 625s Setting up libva2:arm64 (2.21.0-1) ... 625s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 625s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 625s Setting up libopus0:arm64 (1.5.2-1) ... 625s Setting up libexif12:arm64 (0.6.24-1build2) ... 625s Setting up libx265-209:arm64 (3.6-3) ... 625s Setting up libsixel1:arm64 (1.10.3-3build1) ... 625s Setting up libcdio-paranoia2t64:arm64 (10.2+2.0.2-1) ... 625s Setting up libdc1394-25:arm64 (2.2.6-4build1) ... 625s Setting up libxv1:arm64 (2:1.0.11-1.1build1) ... 625s Setting up libimath-3-1-29t64:arm64 (3.1.9-3.1ubuntu2) ... 625s Setting up libvorbis0a:arm64 (1.3.7-2) ... 625s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 625s Setting up libfftw3-double3:arm64 (3.3.10-1ubuntu3) ... 625s Setting up libglapi-mesa:arm64 (24.0.9-0ubuntu1) ... 625s Setting up libgfortran5:arm64 (14.1.0-1ubuntu1) ... 625s Setting up libvulkan1:arm64 (1.3.283.0-1) ... 625s Setting up libsndio7.0:arm64 (1.9.0-0.3build3) ... 625s Setting up libxcb-dri2-0:arm64 (1.17.0-2) ... 625s Setting up libgif7:arm64 (5.2.2-1ubuntu1) ... 625s Setting up libturbojpeg:arm64 (1:2.1.5-2ubuntu2) ... 625s Setting up libvidstab1.1:arm64 (1.1.0-2build1) ... 625s Setting up libvpx9:arm64 (1.14.1-1ubuntu1) ... 625s Setting up libsrt1.5-gnutls:arm64 (1.5.3-1build2) ... 625s Setting up libflite1:arm64 (2.2-6build3) ... 625s Setting up libdav1d7:arm64 (1.4.2-1) ... 625s Setting up libva-drm2:arm64 (2.21.0-1) ... 625s Setting up ocl-icd-libopencl1:arm64 (2.3.2-1build1) ... 625s Setting up libasyncns0:arm64 (0.8-6build4) ... 625s Setting up libxshmfence1:arm64 (1.3-1build5) ... 625s Setting up libvdpau1:arm64 (1.5-3) ... 625s Setting up libbs2b0:arm64 (3.1.0+dfsg-8) ... 625s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 625s Setting up libtheora0:arm64 (1.1.1+dfsg.1-16.1build3) ... 625s Setting up libzimg2:arm64 (3.0.5+ds1-1build1) ... 625s Setting up libopenjp2-7:arm64 (2.5.0-2build3) ... 625s Setting up libharfbuzz0b:arm64 (8.3.0-2build2) ... 625s Setting up libopenal-data (1:1.23.1-4build1) ... 625s Setting up libthai-data (0.1.29-2build1) ... 625s Setting up libgdk-pixbuf-2.0-0:arm64 (2.42.12+dfsg-1) ... 625s Setting up libabsl20230802:arm64 (20230802.1-4) ... 625s Setting up libcairo-gobject2:arm64 (1.18.0-3build1) ... 625s Setting up libunibreak6:arm64 (6.1-2) ... 625s Setting up libflac12t64:arm64 (1.4.3+ds-2.1ubuntu2) ... 625s Setting up libwayland-egl1:arm64 (1.22.0-2.1build1) ... 625s Setting up libxss1:arm64 (1:1.2.3-1build3) ... 625s Setting up libopenslide0 (3.4.1+dfsg-7build2) ... 625s Setting up libbluray2:arm64 (1:1.3.4-1build1) ... 625s Setting up libsamplerate0:arm64 (0.2.2-4build1) ... 625s Setting up libva-x11-2:arm64 (2.21.0-1) ... 625s Setting up libwebpmux3:arm64 (1.4.0-0.1) ... 625s Setting up libyuv0:arm64 (0.0.1888.20240509-4) ... 625s Setting up libzvbi-common (0.2.42-2) ... 625s Setting up libmp3lame0:arm64 (3.100-6build1) ... 625s Setting up libvorbisenc2:arm64 (1.3.7-2) ... 625s Setting up libiec61883-0:arm64 (1.2.0-6build1) ... 625s Setting up libserd-0-0:arm64 (0.32.2-1) ... 625s Setting up libdrm-amdgpu1:arm64 (2.4.121-2) ... 625s Setting up libwayland-client0:arm64 (1.22.0-2.1build1) ... 625s Setting up libavc1394-0:arm64 (0.5.4-5build3) ... 625s Setting up liblapack3:arm64 (3.12.0-3build1) ... 625s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode 625s Setting up libzmq5:arm64 (4.3.5-1build2) ... 625s Setting up libzvbi0t64:arm64 (0.2.42-2) ... 625s Setting up libgbm1:arm64 (24.0.9-0ubuntu1) ... 625s Setting up libsoxr0:arm64 (0.1.3-4build3) ... 625s Setting up libxcursor1:arm64 (1:1.2.2-1) ... 625s Setting up libgl1-mesa-dri:arm64 (24.0.9-0ubuntu1) ... 625s Setting up libavutil58:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up libopenal1:arm64 (1:1.23.1-4build1) ... 625s Setting up libpoppler137:arm64 (24.06.0-2) ... 625s Setting up libpoppler-glib8t64:arm64 (24.06.0-2) ... 625s Setting up libthai0:arm64 (0.1.29-2build1) ... 625s Setting up libvorbisfile3:arm64 (1.3.7-2) ... 625s Setting up libplacebo338:arm64 (6.338.2-2build1) ... 625s Setting up libass9:arm64 (1:0.17.2-2) ... 625s Setting up libswresample4:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up libopenexr-3-1-30:arm64 (3.1.5-5.1build3) ... 625s Setting up libgav1-1:arm64 (0.19.0-2) ... 625s Setting up librubberband2:arm64 (3.3.0+dfsg-2build1) ... 625s Setting up libjack-jackd2-0:arm64 (1.9.21~dfsg-3ubuntu3) ... 625s Setting up libsord-0-0:arm64 (0.16.16-2build1) ... 625s Setting up libwayland-cursor0:arm64 (1.22.0-2.1build1) ... 625s Setting up libpostproc57:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up libsratom-0-0:arm64 (0.6.16-1build1) ... 625s Setting up libdecor-0-0:arm64 (0.2.2-1build2) ... 625s Setting up libsndfile1:arm64 (1.2.2-1ubuntu5) ... 625s Setting up liblilv-0-0:arm64 (0.24.24-2) ... 625s Setting up libopenmpt0t64:arm64 (0.7.8-1) ... 625s Setting up libswscale7:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up libavif16:arm64 (1.0.4-3ubuntu1) ... 625s Setting up libglx-mesa0:arm64 (24.0.9-0ubuntu1) ... 625s Setting up libglx0:arm64 (1.7.0-1build1) ... 625s Setting up libpulse0:arm64 (1:16.1+dfsg1-5.1ubuntu1) ... 625s Setting up libpango-1.0-0:arm64 (1.54.0+ds-1) ... 625s Setting up libjxl0.9:arm64 (0.9.2-9) ... 625s Setting up libsphinxbase3t64:arm64 (0.8+5prealpha+1-17build2) ... 625s Setting up libgl1:arm64 (1.7.0-1build1) ... 625s Setting up libpangoft2-1.0-0:arm64 (1.54.0+ds-1) ... 625s Setting up libsdl2-2.0-0:arm64 (2.30.4+dfsg-1) ... 625s Setting up libpangocairo-1.0-0:arm64 (1.54.0+ds-1) ... 625s Setting up libgraphicsmagick-q16-3t64 (1.4+really1.3.43-1build2) ... 625s Setting up libgraphicsmagick++-q16-12t64 (1.4+really1.3.43-1build2) ... 625s Setting up librsvg2-2:arm64 (2.58.0+dfsg-1build1) ... 625s Setting up libpocketsphinx3:arm64 (0.8.0+real5prealpha+1-15ubuntu5) ... 625s Setting up libavcodec60:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up chafa (1.14.0-1.1build1) ... 625s Setting up libavformat60:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up libavfilter9:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up libavdevice60:arm64 (7:6.1.1-4ubuntu3) ... 625s Setting up timg (1.6.0-1) ... 625s Setting up autopkgtest-satdep (0) ... 625s Processing triggers for man-db (2.12.1-2) ... 626s Processing triggers for libc-bin (2.39-0ubuntu9) ... 631s (Reading database ... 80161 files and directories currently installed.) 631s Removing autopkgtest-satdep (0) ... 631s autopkgtest [21:25:38]: test run-commands: [----------------------- 632s 632s # 0. Basic arguments 632s offpunk --version 640s Offpunk 2.2 641s offpunk --help 643s usage: offpunk [-h] [--bookmarks] [--config-file FILE] [--sync] [--assume-yes] 643s [--disable-http] [--fetch-later] [--depth DEPTH] 643s [--images-mode IMAGES_MODE] [--cache-validity CACHE_VALIDITY] 643s [--version] [--features] 643s [URL ...] 643s 643s Offline-First Gemini/Web/Gopher/RSS reader and browser 643s 643s positional arguments: 643s URL Arguments should be URL to be fetched or, if --sync is 643s used, lists 643s 643s options: 643s -h, --help show this help message and exit 643s --bookmarks start with your list of bookmarks 643s --config-file FILE use this particular config file instead of default 643s --sync run non-interactively to build cache by exploring 643s lists passed as argument. Without argument, all lists 643s are fetched. 643s --assume-yes assume-yes when asked questions about 643s certificates/redirections during sync (lower security) 643s --disable-http do not try to get http(s) links (but already cached 643s will be displayed) 643s --fetch-later run non-interactively with an URL as argument to fetch 643s it later 643s --depth DEPTH depth of the cache to build. Default is 1. More is 643s crazy. Use at your own risks! 643s --images-mode IMAGES_MODE 643s the mode to use to choose which images to download in 643s a HTML page. one of (None, readable, full). Warning: 643s full will slowdown your sync. 643s --cache-validity CACHE_VALIDITY 643s duration for which a cache is valid before sync 643s (seconds) 643s --version display version information and quit 643s --features display available features and dependancies then quit 643s offpunk --features 644s Upgrading cache to version 1: migrating index.txt to gophermap 644s Offpunk 2.2 644s =========== 644s Highly recommended: 644s - python-cryptography : Installed 644s - xdg-open : Installed 644s 644s Web browsing: 644s - python-requests : Installed 644s - python-feedparser : Installed 644s - python-bs4 : Installed 644s - python-readability : Installed 644s - timg 1.3.2+ : Installed 644s - chafa 1.10+ : Installed 644s 644s Nice to have: 644s - python-setproctitle : Installed 644s - xsel : Installed 644s 644s Features : 644s - Render images (chafa or timg) : Installed 644s - Render HTML (bs4, readability) : Installed 644s - Render Atom/RSS feeds (feedparser) : Installed 644s - Connect to http/https (requests) : Installed 644s - Detect text encoding (python-chardet) : Installed 644s - copy to/from clipboard (xsel) : Installed 644s - restore last position (less 572+) : Installed 644s 644s Config directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 644s User Data directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 644s Cache directoy : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.cache/offpunk/ 644s echo quit | offpunk --bookmarks 645s bookmarks (0 items) (local file) 645s bookmarks 645s Creating config directory /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 645s Creating config directory /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 645s Welcome to Offpunk! 645s Type `help` to get the list of available command. 645s ON> You can close your screen! 645s 645s # 1. Basic commands 645s cat << END | offpunk 645s version 645s help 645s help abbrevs 645s help add 645s help back 645s help blackbox 645s help bookmarks 645s help cat 645s help cert 645s help copy 645s help find 645s help forward 645s help go 645s help gus 645s help handler 645s help help 645s help history 645s help info 645s help list 645s help ls 645s help mark 645s help move 645s help offline 645s help online 645s help open 645s help redirect 645s help reload 645s help root 645s help save 645s help set 645s help shell echo test 645s help subscribe 645s help sync 645s help theme 645s help tour 645s help url 645s help version 645s help wikipedia 645s help exit 645s help quit 645s quit 645s END 645s Welcome to Offpunk! 645s Type `help` to get the list of available command. 645s ON> Offpunk 2.2 645s =========== 645s Highly recommended: 645s - python-cryptography : Installed 645s - xdg-open : Installed 645s 645s Web browsing: 645s - python-requests : Installed 645s - python-feedparser : Installed 645s - python-bs4 : Installed 645s - python-readability : Installed 645s - timg 1.3.2+ : Installed 645s - chafa 1.10+ : Installed 645s 645s Nice to have: 645s - python-setproctitle : Installed 645s - xsel : Installed 645s 645s Features : 645s - Render images (chafa or timg) : Installed 645s - Render HTML (bs4, readability) : Installed 645s - Render Atom/RSS feeds (feedparser) : Installed 645s - Connect to http/https (requests) : Installed 645s - Detect text encoding (python-chardet) : Installed 645s - copy to/from clipboard (xsel) : Installed 645s - restore last position (less 572+) : Installed 645s 645s Config directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.config/offpunk/ 645s User Data directory : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/ 645s Cache directoy : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.cache/offpunk/ 645s ON> 645s Documented commands (type help ): 645s ======================================== 645s abbrevs cat go info offline reload shell up 645s add copy gus list online root subscribe url 645s archive exit handler ls open save sync version 645s back find help mark quit search theme view 645s bookmarks forward history move redirect set tour wikipedia 645s 645s ON> Print all Offpunk command abbreviations. 645s ON> Add the current URL to the list specied as argument. 645s If no argument given, URL is added to Bookmarks. 645s ON> Go back to the previous gemini item. 645s ON> *** No help on blackbox 645s ON> Show or access the bookmarks menu. 645s 'bookmarks' shows all bookmarks. 645s 'bookmarks n' navigates immediately to item n in the bookmark menu. 645s Bookmarks are stored using the 'add' command. 645s ON> Run most recently visited item through "cat" command. 645s ON> *** No help on cert 645s ON> Copy the content of the last visited page as gemtext/html in the clipboard. 645s Use with "url" as argument to only copy the adress. 645s Use with "raw" to copy ANSI content as seen in your terminal (with colour codes). 645s Use with "cache" to copy the path of the cached content. 645s Use with "title" to copy the title of the page. 645s Use with "link" to copy a link in the gemtext format to that page with the title. 645s 645s ON> Find in current page by displaying only relevant lines (grep). 645s ON> Go forward to the next gemini item. 645s ON> Go to a gemini URL or marked item. 645s ON> Submit a search query to the geminispace.info search engine. 645s ON> View or set handler commands for different MIME types. 645s ON> ALARM! Recursion detected! ALARM! Prepare to eject! 645s ON> Display history. 645s ON> Display information about current page. 645s ON> Manage list of bookmarked pages. 645s - list : display available lists 645s - list $LIST : display pages in $LIST 645s - list create $NEWLIST : create a new list 645s - list edit $LIST : edit the list 645s - list subscribe $LIST : during sync, add new links found in listed pages to tour 645s - list freeze $LIST : don’t update pages in list during sync if a cache already exists 645s - list normal $LIST : update pages in list during sync but don’t add anything to tour 645s - list delete $LIST : delete a list permanently (a confirmation is required) 645s - list help : print this help 645s See also : 645s - add $LIST (to add current page to $LIST or, by default, to bookmarks) 645s - move $LIST (to add current page to list while removing from all others) 645s - archive (to remove current page from all lists while adding to archives) 645s 645s There’s no "delete" on purpose. The use of "archive" is recommended. 645s 645s The following lists cannot be removed or frozen but can be edited with "list edit" 645s - list archives : contains last 200 archived URLs 645s - history : contains last 200 visisted URLs 645s - to_fetch : contains URLs that will be fetch during the next sync 645s - tour : contains the next URLs to visit during a tour (see "help tour") 645s 645s 645s ON> List contents of current index. 645s Use 'ls -l' to see URLs. 645s ON> Mark the current item with a single letter. This letter can then 645s be passed to the 'go' command to return to the current item later. 645s Think of it like marks in vi: 'mark a'='ma' and 'go a'=''a'. 645s Marks are temporary until shutdown (not saved to disk). 645s ON> move LIST will add the current page to the list LIST. 645s With a major twist: current page will be removed from all other lists. 645s If current page was not in a list, this command is similar to `add LIST`. 645s ON> Use Offpunk offline by only accessing cached content 645s ON> Use Offpunk online with a direct connection 645s ON> Open current item with the configured handler or xdg-open. 645s Uses "open url" to open current URL in a browser. 645s see "handler" command to set your handler. 645s ON> Display and manage the list of redirected URLs. This features is mostly useful to use privacy-friendly frontends for popular websites. 645s ON> Reload the current URL. 645s ON> Go to root selector of the server hosting current item. 645s ON> Save an item to the filesystem. 645s 'save n filename' saves menu item n to the specified filename. 645s 'save filename' saves the last viewed item to the specified filename. 645s 'save n' saves menu item n to an automagic filename. 645s ON> View or set various options. 645s ON> *** No help on shell echo test 645s ON> Subscribe to current page by saving it in the "subscribed" list. 645s If a new link is found in the page during a --sync, the new link is automatically 645s fetched and added to your next tour. 645s To unsubscribe, remove the page from the "subscribed" list. 645s ON> Synchronize all bookmarks lists and URLs from the to_fetch list. 645s - New elements in pages in subscribed lists will be added to tour 645s - Elements in list to_fetch will be retrieved and added to tour 645s - Normal lists will be synchronized and updated 645s - Frozen lists will be fetched only if not present. 645s 645s Before a sync, you can edit the list of URLs that will be fetched with the 645s following command: "list edit to_fetch" 645s 645s Argument : duration of cache validity (in seconds). 645s ON> Change the colors of your rendered text. 645s 645s "theme ELEMENT COLOR" 645s 645s ELEMENT is one of: window_title, window_subtitle, title, 645s subtitle,subsubtitle,link,oneline_link,new_link,image_link,preformatted,blockquote. 645s 645s COLOR is one or many (separated by space) of: bold, faint, italic, underline, black, 645s red, green, yellow, blue, purple, cyan, white. 645s 645s Each color can alternatively be prefaced with "bright_". 645s ON> Add index items as waypoints on a tour, which is basically a FIFO 645s queue of gemini items. 645s 645s `tour` or `t` alone brings you to the next item in your tour. 645s Items can be added with `tour 1 2 3 4` or ranges like `tour 1-4`. 645s All items in current menu can be added with `tour *`. 645s All items in $LIST can be added with `tour $LIST`. 645s Current item can be added back to the end of the tour with `tour .`. 645s Current tour can be listed with `tour ls` and scrubbed with `tour clear`. 645s ON> Print URL of most recently visited item. 645s ON> Display version and system information. 645s ON> Search on wikipedia using the configured Gemini interface. 645s The first word should be the two letters code for the language. 645s Exemple : "wikipedia en Gemini protocol" 645s But you can also use abbreviations to go faster: 645s "wen Gemini protocol". (your abbreviation might be missing, report the bug) 645s The interface used can be modified with the command: 645s "set wikipedia URL" where URL should contains two "%s", the first 645s one used for the language, the second for the search string. 645s ON> Exit Offpunk. 645s ON> Exit Offpunk. 645s ON> You can close your screen! 645s 645s # cert calls a submenu which expects then a blank line to get outside. 645s # find will call the pager 645s # gus and search will launch the client to the search engine. 645s # reload will call the pager 645s # wikipedia will require test to have Internet access 645s cat << END | offpunk 645s abbrevs 645s add 645s archive 645s back 645s blackbox 645s bookmarks 645s cat 645s cert 645s 645s copy 645s forward 645s go 645s handler 645s history 645s info 645s list 645s ls 645s mark 645s move 645s offline 645s online 645s open 645s redirect 645s root 645s save 645s set 645s shell echo test 645s subscribe 645s 645s sync 645s tour 645s theme 645s url 645s exit 645s END 646s Welcome to Offpunk! 646s Type `help` to get the list of available command. 646s ON> 646s Command Abbreviations: 646s ====================== 646s .. up 646s a add 646s b back 646s bb blackbox 646s bm bookmarks 646s book bookmarks 646s cp copy 646s f forward 646s g go 646s h history 646s hist history 646s l view 646s less view 646s man help 646s mv move 646s n next 646s off offline 646s on online 646s p previous 646s prev previous 646s q quit 646s r reload 646s s save 646s se search 646s / find 646s t tour 646s u up 646s v view 646s w wikipedia 646s wen wikipedia en 646s wfr wikipedia fr 646s wes wikipedia es 646s 646s ON> You need to 'go' somewhere, first 646s ON> You need to 'go' somewhere, first 646s ON> ON> What? 646s ON> bookmarks (0 items) (local file) 646s bookmarks 646s ON> bookmarks (0 items) (local file) 646s bookmarks 646s ON> What? 646s ON> xsel: Can't open display: (null) 646s : Inappropriate ioctl for device 646s ON> ON> ON> Go where? (hint: simply copy an URL in your clipboard) 646s ON> ON> history (1 items) (local file) 646s history 646s [1] bookmarks (bookmarks), visited on Thu Jun 27 21:25:52 2024 646s  646s ON> history (history) 646s 646s URL : list:///history 646s Mime : text/gemini 646s Cache : /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists/history.gmi 646s Renderer : t.GemtextRenderer 646s 646s Page is not save in any list 646s ON>  (2 items) (local file) 646s 646s Bookmarks Lists (updated during sync) 646s [1] bookmarks (0 items) 646s 646s System Lists 646s [2] history (1 items) 646s  646s ON> [1] list:///bookmarks 646s [2] list:///history 646s ON> ON> LIST argument is required as the target for your move 646s ON> Offpunk is now offline and will only access cached content 646s OFF> Offpunk is online and will access the network 646s ON> /usr/bin/xdg-open: 882: www-browser: not found 646s /usr/bin/xdg-open: 882: links2: not found 646s /usr/bin/xdg-open: 882: elinks: not found 646s /usr/bin/xdg-open: 882: links: not found 646s /usr/bin/xdg-open: 882: lynx: not found 646s /usr/bin/xdg-open: 882: w3m: not found 646s xdg-open: no method available for opening '/tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists' 646s ON> Current redirections: 646s -------------------- 646s *twitter.com -> nitter.net 646s youtube.com -> yewtu.be 646s youtu.be -> yewtu.be 646s *reddit.com -> teddit.net 646s *medium.com -> scribe.rip 646s *google-webfonts-helper.herokuapp.com -> blocked 646s *facebook.com -> blocked 646s *ads.yahoo.com -> blocked 646s *advertising.theguardian.com -> blocked 646s *advertise.newrepublic.com -> blocked 646s *google-health-ads.blogspot.com -> blocked 646s *firebase.google.com -> blocked 646s *google-analytics.com -> blocked 646s *licdn.com -> blocked 646s *tiktok.com -> blocked 646s *fbcdn.net -> blocked 646s *linkedin.com -> blocked 646s *doubleclick.net -> blocked 646s *advertising.amazon.com -> blocked 646s *admanager.google.com -> blocked 646s *facebook.net -> blocked 646s 646s To add new, use "redirect origine.com destination.org" 646s To remove a redirect, use "redirect origine.com NONE" 646s To completely block a website, use "redirect origine.com BLOCK" 646s To block also subdomains, prefix with *: "redirect *origine.com BLOCK" 646s ON> list:/ does not exist 646s ON> Can’t save /tmp/autopkgtest.cIZ7A8/autopkgtest_tmp/.local/share/offpunk/lists because it’s a folder, not a file 646s ON> accept_bad_ssl_certificates False 646s archives_size 200 646s auto_follow_redirects True 646s beta False 646s debug False 646s default_protocol gemini 646s download_images_first True 646s editor None 646s history_size 200 646s images_mode readable 646s max_size_download 10 646s redirects True 646s search gemini://kennedy.gemi.dev/search?%s 646s short_timeout 5 646s timeout 600 646s tls_mode tofu 646s width 72 646s wikipedia gemini://vault.transjovian.org:1965/search/%s/%s 646s ON> test 646s ON> No feed detected. You can still watch the page : 646s [1] list:/// [Directory] 646s 646s Which feed do you want to subscribe ? > No subscription registered 646s ON> * * * 0 to fetch in bookmarks * * * 646s * * * 0 to fetch in tour * * * 646s End of sync 646s ON> End of tour. 646s ON> window_title set to ['red', 'bold'] 646s window_subtitle set to ['red', 'faint'] 646s title set to ['blue', 'bold', 'underline'] 646s subtitle set to ['blue'] 646s subsubtitle set to ['blue', 'faint'] 646s link set to ['blue', 'faint'] 646s new_link set to ['bold'] 646s oneline_link set to [] 646s image_link set to ['yellow', 'faint'] 646s preformatted set to ['faint'] 646s blockquote set to ['italic'] 646s prompt_on set to ['green'] 646s prompt_off set to ['green'] 646s ON> list:/// 646s ON> You can close your screen! 646s 646s # 2. Checks against gemini file 646s cat << END | offpunk 646s go file://$PWD/index.gmi 646s quit 646s END 647s Welcome to Offpunk! 647s Type `help` to get the list of available command. 647s ON> index.gmi (7 items) (local file) 647s OFFPUNK - An Offline-First Browser for the Smolnet 647s 647s Offpunk is a command-line browser and feed reader dedicated to browsing 647s the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it 647s is optimised to be used offline with rare connections but works as well 647s when connected. 647s 647s Offpunk is optimised for reading and supports readability mode, 647s displaying pictures, subscribing to pages or RSS feeds, managing complex 647s lists of bookmarks. Its integrated help and easy commands make it a 647s perfect tool for command-line novices while power-users will be amazed 647s by its shell integration. 647s 647s Offpunk is written in Python 3 by Ploum. It aims to be portable and 647s minimise dependencies, making them optional. It supports 647s http/https/gopher/gemini/spartan on both IPv4 and IPv6. 647s 647s 647s [1] Installing Offpunk and dependencies 647s [2] First steps 647s [3] Configuring Offpunk 647s [4] Using Offpunk offline 647s [5] Lists and subscriptions 647s [6] Shell and OS integrations 647s [7] Roadmap & Contributions 647s 647s  647s ON> You can close your screen! 647s 647s # 3. Test netcache command 647s # 3.0 Basic 647s netcache --help 647s usage: netcache [-h] [--path] [--offline] [--max-size MAX_SIZE] 647s [--timeout TIMEOUT] [--cache-validity CACHE_VALIDITY] 647s [URL ...] 647s 647s Netcache is a command-line tool to retrieve, cache and access networked 647s content. By default, netcache will returns a cached version of a given URL, 647s downloading it only if not existing. A validity duration, in seconds, can also 647s be given so that netcache downloads the content only if the existing cache is 647s older than the validity. 647s 647s positional arguments: 647s URL download URL and returns the content or the path to a 647s cached version 647s 647s options: 647s -h, --help show this help message and exit 647s --path return path to the cache instead of the content of the 647s cache 647s --offline Do not attempt to download, return cached version or 647s error 647s --max-size MAX_SIZE Cancel download of items above that size (value in 647s Mb). 647s --timeout TIMEOUT Time to wait before cancelling connection (in second). 647s --cache-validity CACHE_VALIDITY 647s maximum age, in second, of the cached version before 647s redownloading a new version 647s # 3.1 Various suboptions 647s OUT="$(netcache --path "file://$PWD/index.gmi")" 648s echo "$OUT" | grep -q "$PWD/index.gmi" 648s # (Note that the file local do not feed the user's cache.) 648s # 3.2 Main functionality 648s netcache "file://$PWD/index.gmi" 649s # OFFPUNK - An Offline-First Browser for the Smolnet 649s 649s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 649s 649s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 649s 649s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 649s 649s 649s => install.gmi Installing Offpunk and dependencies 649s => tutorial.gmi First steps 649s => config.gmi Configuring Offpunk 649s => offline.gmi Using Offpunk offline 649s => lists.gmi Lists and subscriptions 649s => shell.gmi Shell and OS integrations 649s => dev.gmi Roadmap & Contributions 649s 649s 649s netcache --offline "file://$PWD/index.gmi" 650s # OFFPUNK - An Offline-First Browser for the Smolnet 650s 650s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 650s 650s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 650s 650s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 650s 650s 650s => install.gmi Installing Offpunk and dependencies 650s => tutorial.gmi First steps 650s => config.gmi Configuring Offpunk 650s => offline.gmi Using Offpunk offline 650s => lists.gmi Lists and subscriptions 650s => shell.gmi Shell and OS integrations 650s => dev.gmi Roadmap & Contributions 650s 650s 650s netcache --max-size 1 "file://$PWD/index.gmi" 652s # OFFPUNK - An Offline-First Browser for the Smolnet 652s 652s Offpunk is a command-line browser and feed reader dedicated to browsing the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it is optimised to be used offline with rare connections but works as well when connected. 652s 652s Offpunk is optimised for reading and supports readability mode, displaying pictures, subscribing to pages or RSS feeds, managing complex lists of bookmarks. Its integrated help and easy commands make it a perfect tool for command-line novices while power-users will be amazed by its shell integration. 652s 652s Offpunk is written in Python 3 by Ploum. It aims to be portable and minimise dependencies, making them optional. It supports http/https/gopher/gemini/spartan on both IPv4 and IPv6. 652s 652s 652s => install.gmi Installing Offpunk and dependencies 652s => tutorial.gmi First steps 652s => config.gmi Configuring Offpunk 652s => offline.gmi Using Offpunk offline 652s => lists.gmi Lists and subscriptions 652s => shell.gmi Shell and OS integrations 652s => dev.gmi Roadmap & Contributions 652s 652s 652s # Note that testing the --timeout looks to need Internet, so we'll skip this 652s # option for now. 652s 652s # 4. Test ansicat 652s # 4.0 Basic 652s ansicat --help 653s usage: ansicat [-h] 653s [--format {auto,gemtext,html,feed,gopher,image,folder,text,plaintext}] 653s [--mime MIME] [--url [URL ...]] [--mode MODE] 653s [INPUT ...] 653s 653s ansicat is a terminal rendering tool that will render multiple formats (HTML, 653s Gemtext, RSS, Gophermap, Image) into ANSI text and colors. When used on a 653s file, ansicat will try to autodetect the format. When used with standard 653s input, the format must be manually specified. If the content contains links, 653s the original URL of the content can be specified in order to correctly modify 653s relatives links. 653s 653s positional arguments: 653s INPUT Path to the text to render (default to stdin) 653s 653s options: 653s -h, --help show this help message and exit 653s --format {auto,gemtext,html,feed,gopher,image,folder,text,plaintext} 653s Renderer to use. Available: auto, gemtext, html, feed, 653s gopher, image, folder, plaintext 653s --mime MIME Mime of the content to parse 653s --url [URL ...] Original URL of the content 653s --mode MODE Which mode should be used to render: normal (default), 653s full or source. With HTML, the normal mode try to 653s extract the article. 653s # 4.1 Test some ansicat formats and options 653s # WARNING: there is something about autopkgtest environment that causes the two 653s # below commands to crash, but running them by hand works perfectly. 653s # This may indicate fragility in the tool, but it is curious that the 653s # 4.2 section below gave no difficulty: if this crashes too, then it 653s # may be reasonable to skip it as well. 653s #ansicat --format plaintext index.gmi 653s #ansicat --mime text/plain index.gmi 653s # 4.2 Main functionality 653s ansicat --url "file://$PWD/index.gmi" index.gmi 654s Format or mime should be specified when running with stdin 654s 654s # 5. Test opnk 654s # 5.0 Basic 654s opnk --help 655s usage: opnk [-h] [--mode MODE] [--cache-validity CACHE_VALIDITY] [INPUT ...] 655s 655s opnk is an universal open command tool that will try to display any file in 655s the pager less after rendering its content with ansicat. If that fails, opnk 655s will fallback to opening the file with xdg-open. If given an URL as input 655s instead of a path, opnk will rely on netcache to get the networked content. 655s 655s positional arguments: 655s INPUT Path to the file or URL to open 655s 655s options: 655s -h, --help show this help message and exit 655s --mode MODE Which mode should be used to render: normal (default), 655s full or source. With HTML, the normal mode try to 655s extract the article. 655s --cache-validity CACHE_VALIDITY 655s maximum age, in second, of the cached version before 655s redownloading a new version 655s # 5.1 Open some things (but stick to not needing Internet). 655s opnk /usr/share/doc/offpunk/copyright 655s copyright (3 items) (local file) 655s Format: https://www.debian.org/doc/packaging-manuals/copyright- 655s format/1.0/ 655s Upstream-Name: Offpunk 655s Upstream-Contact: Lionel "Ploum" Dricot 655s Source: https://git.sr.ht/~lioploum/offpunk/ 655s 655s Files: * 655s Copyright: 2019-2020, Solderpunk 655s 2021-2024, Ploum and contributors. 655s License: AGPL-3 655s Comment: Derived from AV-98[1] by Solderpunk. 655s [1]: https://tildegit.org/solderpunk/AV-98 655s 655s Files: debian/* 655s Copyright: 2023-2024, Étienne Mollier 655s License: AGPL-3 655s 655s License: AGPL-3 655s Copyright (c) 2022, Ploum and contributors. 655s All rights reserved. 655s . 655s Copyright (C) 2007 Free Software Foundation, Inc. 655s Everyone is permitted to copy and distribute verbatim copies 655s of this license document, but changing it is not allowed. 655s . 655s Preamble 655s . 655s The GNU Affero General Public License is a free, copyleft license for 655s software and other kinds of works, specifically designed to ensure 655s cooperation with the community in the case of network server software. 655s . 655s The licenses for most software and other practical works are designed 655s to take away your freedom to share and change the works. By contrast, 655s our General Public Licenses are intended to guarantee your freedom to 655s share and change all versions of a program--to make sure it remains 655s free 655s software for all its users. 655s . 655s When we speak of free software, we are referring to freedom, not 655s price. Our General Public Licenses are designed to make sure that you 655s have the freedom to distribute copies of free software (and charge for 655s them if you wish), that you receive source code or can get it if you 655s want it, that you can change the software or use pieces of it in new 655s free programs, and that you know you can do these things. 655s . 655s Developers that use our General Public Licenses protect your rights 655s with two steps: (1) assert copyright on the software, and (2) offer 655s you this License which gives you legal permission to copy, distribute 655s and/or modify the software. 655s . 655s A secondary benefit of defending all users' freedom is that 655s improvements made in alternate versions of the program, if they 655s receive widespread use, become available for other developers to 655s incorporate. Many developers of free software are heartened and 655s encouraged by the resulting cooperation. However, in the case of 655s software used on network servers, this result may fail to come about. 655s The GNU General Public License permits making a modified version and 655s letting the public access it on a server without ever releasing its 655s source code to the public. 655s . 655s The GNU Affero General Public License is designed specifically to 655s ensure that, in such cases, the modified source code becomes available 655s to the community. It requires the operator of a network server to 655s provide the source code of the modified version running there to the 655s users of that server. Therefore, public use of a modified version, on 655s a publicly accessible server, gives the public access to the source 655s code of the modified version. 655s . 655s An older license, called the Affero General Public License and 655s published by Affero, was designed to accomplish similar goals. This is 655s a different license, not a version of the Affero GPL, but Affero has 655s released a new version of the Affero GPL which permits relicensing 655s under 655s this license. 655s . 655s The precise terms and conditions for copying, distribution and 655s modification follow. 655s . 655s TERMS AND CONDITIONS 655s . 655s 0. Definitions. 655s . 655s "This License" refers to version 3 of the GNU Affero General Public 655s License. 655s . 655s "Copyright" also means copyright-like laws that apply to other kinds of 655s works, such as semiconductor masks. 655s . 655s "The Program" refers to any copyrightable work licensed under this 655s License. Each licensee is addressed as "you". "Licensees" and 655s "recipients" may be individuals or organizations. 655s . 655s To "modify" a work means to copy from or adapt all or part of the work 655s in a fashion requiring copyright permission, other than the making of 655s an 655s exact copy. The resulting work is called a "modified version" of the 655s earlier work or a work "based on" the earlier work. 655s . 655s A "covered work" means either the unmodified Program or a work based 655s on the Program. 655s . 655s To "propagate" a work means to do anything with it that, without 655s permission, would make you directly or secondarily liable for 655s infringement under applicable copyright law, except executing it on a 655s computer or modifying a private copy. Propagation includes copying, 655s distribution (with or without modification), making available to the 655s public, and in some countries other activities as well. 655s . 655s To "convey" a work means any kind of propagation that enables other 655s parties to make or receive copies. Mere interaction with a user 655s through 655s a computer network, with no transfer of a copy, is not conveying. 655s . 655s An interactive user interface displays "Appropriate Legal Notices" 655s to the extent that it includes a convenient and prominently visible 655s feature that (1) displays an appropriate copyright notice, and (2) 655s tells the user that there is no warranty for the work (except to the 655s extent that warranties are provided), that licensees may convey the 655s work under this License, and how to view a copy of this License. If 655s the interface presents a list of user commands or options, such as a 655s menu, a prominent item in the list meets this criterion. 655s . 655s 1. Source Code. 655s . 655s The "source code" for a work means the preferred form of the work 655s for making modifications to it. "Object code" means any non-source 655s form of a work. 655s . 655s A "Standard Interface" means an interface that either is an official 655s standard defined by a recognized standards body, or, in the case of 655s interfaces specified for a particular programming language, one that 655s is widely used among developers working in that language. 655s . 655s The "System Libraries" of an executable work include anything, other 655s than the work as a whole, that (a) is included in the normal form of 655s packaging a Major Component, but which is not part of that Major 655s Component, and (b) serves only to enable use of the work with that 655s Major Component, or to implement a Standard Interface for which an 655s implementation is available to the public in source code form. A 655s "Major Component", in this context, means a major essential component 655s (kernel, window system, and so on) of the specific operating system 655s (if any) on which the executable work runs, or a compiler used to 655s produce the work, or an object code interpreter used to run it. 655s . 655s The "Corresponding Source" for a work in object code form means all 655s the source code needed to generate, install, and (for an executable 655s work) run the object code and to modify the work, including scripts to 655s control those activities. However, it does not include the work's 655s System Libraries, or general-purpose tools or generally available free 655s programs which are used unmodified in performing those activities but 655s which are not part of the work. For example, Corresponding Source 655s includes interface definition files associated with source files for 655s the work, and the source code for shared libraries and dynamically 655s linked subprograms that the work is specifically designed to require, 655s such as by intimate data communication or control flow between those 655s subprograms and other parts of the work. 655s . 655s The Corresponding Source need not include anything that users 655s can regenerate automatically from other parts of the Corresponding 655s Source. 655s . 655s The Corresponding Source for a work in source code form is that 655s same work. 655s . 655s 2. Basic Permissions. 655s . 655s All rights granted under this License are granted for the term of 655s copyright on the Program, and are irrevocable provided the stated 655s conditions are met. This License explicitly affirms your unlimited 655s permission to run the unmodified Program. The output from running a 655s covered work is covered by this License only if the output, given its 655s content, constitutes a covered work. This License acknowledges your 655s rights of fair use or other equivalent, as provided by copyright law. 655s . 655s You may make, run and propagate covered works that you do not 655s convey, without conditions so long as your license otherwise remains 655s in force. You may convey covered works to others for the sole purpose 655s of having them make modifications exclusively for you, or provide you 655s with facilities for running those works, provided that you comply with 655s the terms of this License in conveying all material for which you do 655s not control copyright. Those thus making or running the covered works 656s for you must do so exclusively on your behalf, under your direction 656s and control, on terms that prohibit them from making any copies of 656s your copyrighted material outside their relationship with you. 656s . 656s Conveying under any other circumstances is permitted solely under 656s the conditions stated below. Sublicensing is not allowed; section 10 656s makes it unnecessary. 656s . 656s 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 656s . 656s No covered work shall be deemed part of an effective technological 656s measure under any applicable law fulfilling obligations under article 656s 11 of the WIPO copyright treaty adopted on 20 December 1996, or 656s similar laws prohibiting or restricting circumvention of such 656s measures. 656s . 656s When you convey a covered work, you waive any legal power to forbid 656s circumvention of technological measures to the extent such 656s circumvention 656s is effected by exercising rights under this License with respect to 656s the covered work, and you disclaim any intention to limit operation or 656s modification of the work as a means of enforcing, against the work's 656s users, your or third parties' legal rights to forbid circumvention of 656s technological measures. 656s . 656s 4. Conveying Verbatim Copies. 656s . 656s You may convey verbatim copies of the Program's source code as you 656s receive it, in any medium, provided that you conspicuously and 656s appropriately publish on each copy an appropriate copyright notice; 656s keep intact all notices stating that this License and any 656s non-permissive terms added in accord with section 7 apply to the code; 656s keep intact all notices of the absence of any warranty; and give all 656s recipients a copy of this License along with the Program. 656s . 656s You may charge any price or no price for each copy that you convey, 656s and you may offer support or warranty protection for a fee. 656s . 656s 5. Conveying Modified Source Versions. 656s . 656s You may convey a work based on the Program, or the modifications to 656s produce it from the Program, in the form of source code under the 656s terms of section 4, provided that you also meet all of these 656s conditions: 656s . 656s a) The work must carry prominent notices stating that you modified 656s it, and giving a relevant date. 656s . 656s b) The work must carry prominent notices stating that it is 656s released under this License and any conditions added under section 656s 7. This requirement modifies the requirement in section 4 to 656s "keep intact all notices". 656s . 656s c) You must license the entire work, as a whole, under this 656s License to anyone who comes into possession of a copy. This 656s License will therefore apply, along with any applicable section 7 656s additional terms, to the whole of the work, and all its parts, 656s regardless of how they are packaged. This License gives no 656s permission to license the work in any other way, but it does not 656s invalidate such permission if you have separately received it. 656s . 656s d) If the work has interactive user interfaces, each must display 656s Appropriate Legal Notices; however, if the Program has interactive 656s interfaces that do not display Appropriate Legal Notices, your 656s work need not make them do so. 656s . 656s A compilation of a covered work with other separate and independent 656s works, which are not by their nature extensions of the covered work, 656s and which are not combined with it such as to form a larger program, 656s in or on a volume of a storage or distribution medium, is called an 656s "aggregate" if the compilation and its resulting copyright are not 656s used to limit the access or legal rights of the compilation's users 656s beyond what the individual works permit. Inclusion of a covered work 656s in an aggregate does not cause this License to apply to the other 656s parts of the aggregate. 656s . 656s 6. Conveying Non-Source Forms. 656s . 656s You may convey a covered work in object code form under the terms 656s of sections 4 and 5, provided that you also convey the 656s machine-readable Corresponding Source under the terms of this License, 656s in one of these ways: 656s . 656s a) Convey the object code in, or embodied in, a physical product 656s (including a physical distribution medium), accompanied by the 656s Corresponding Source fixed on a durable physical medium 656s customarily used for software interchange. 656s . 656s b) Convey the object code in, or embodied in, a physical product 656s (including a physical distribution medium), accompanied by a 656s written offer, valid for at least three years and valid for as 656s long as you offer spare parts or customer support for that product 656s model, to give anyone who possesses the object code either (1) a 656s copy of the Corresponding Source for all the software in the 656s product that is covered by this License, on a durable physical 656s medium customarily used for software interchange, for a price no 656s more than your reasonable cost of physically performing this 656s conveying of source, or (2) access to copy the 656s Corresponding Source from a network server at no charge. 656s . 656s c) Convey individual copies of the object code with a copy of the 656s written offer to provide the Corresponding Source. This 656s alternative is allowed only occasionally and noncommercially, and 656s only if you received the object code with such an offer, in accord 656s with subsection 6b. 656s . 656s d) Convey the object code by offering access from a designated 656s place (gratis or for a charge), and offer equivalent access to the 656s Corresponding Source in the same way through the same place at no 656s further charge. You need not require recipients to copy the 656s Corresponding Source along with the object code. If the place to 656s copy the object code is a network server, the Corresponding Source 656s may be on a different server (operated by you or a third party) 656s that supports equivalent copying facilities, provided you maintain 656s clear directions next to the object code saying where to find the 656s Corresponding Source. Regardless of what server hosts the 656s Corresponding Source, you remain obligated to ensure that it is 656s available for as long as needed to satisfy these requirements. 656s . 656s e) Convey the object code using peer-to-peer transmission, provided 656s you inform other peers where the object code and Corresponding 656s Source of the work are being offered to the general public at no 656s charge under subsection 6d. 656s . 656s A separable portion of the object code, whose source code is excluded 656s from the Corresponding Source as a System Library, need not be 656s included in conveying the object code work. 656s . 656s A "User Product" is either (1) a "consumer product", which means any 656s tangible personal property which is normally used for personal, family, 656s or household purposes, or (2) anything designed or sold for 656s incorporation 656s into a dwelling. In determining whether a product is a consumer 656s product, 656s doubtful cases shall be resolved in favor of coverage. For a 656s particular 656s product received by a particular user, "normally used" refers to a 656s typical or common use of that class of product, regardless of the 656s status 656s of the particular user or of the way in which the particular user 656s actually uses, or expects or is expected to use, the product. A 656s product 656s is a consumer product regardless of whether the product has substantial 656s commercial, industrial or non-consumer uses, unless such uses represent 656s the only significant mode of use of the product. 656s . 656s "Installation Information" for a User Product means any methods, 656s procedures, authorization keys, or other information required to 656s install 656s and execute modified versions of a covered work in that User Product 656s from 656s a modified version of its Corresponding Source. The information must 656s suffice to ensure that the continued functioning of the modified object 656s code is in no case prevented or interfered with solely because 656s modification has been made. 656s . 656s If you convey an object code work under this section in, or with, or 656s specifically for use in, a User Product, and the conveying occurs as 656s part of a transaction in which the right of possession and use of the 656s User Product is transferred to the recipient in perpetuity or for a 656s fixed term (regardless of how the transaction is characterized), the 656s Corresponding Source conveyed under this section must be accompanied 656s by the Installation Information. But this requirement does not apply 656s if neither you nor any third party retains the ability to install 656s modified object code on the User Product (for example, the work has 656s been installed in ROM). 656s . 656s The requirement to provide Installation Information does not include a 656s requirement to continue to provide support service, warranty, or 656s updates 656s for a work that has been modified or installed by the recipient, or for 656s the User Product in which it has been modified or installed. Access to 656s a 656s network may be denied when the modification itself materially and 656s adversely affects the operation of the network or violates the rules 656s and 656s protocols for communication across the network. 656s . 656s Corresponding Source conveyed, and Installation Information provided, 656s in accord with this section must be in a format that is publicly 656s documented (and with an implementation available to the public in 656s source code form), and must require no special password or key for 656s unpacking, reading or copying. 656s . 656s 7. Additional Terms. 656s . 656s "Additional permissions" are terms that supplement the terms of this 656s License by making exceptions from one or more of its conditions. 656s Additional permissions that are applicable to the entire Program shall 656s be treated as though they were included in this License, to the extent 656s that they are valid under applicable law. If additional permissions 656s apply only to part of the Program, that part may be used separately 656s under those permissions, but the entire Program remains governed by 656s this License without regard to the additional permissions. 656s . 656s When you convey a copy of a covered work, you may at your option 656s remove any additional permissions from that copy, or from any part of 656s it. (Additional permissions may be written to require their own 656s removal in certain cases when you modify the work.) You may place 656s additional permissions on material, added by you to a covered work, 656s for which you have or can give appropriate copyright permission. 656s . 656s Notwithstanding any other provision of this License, for material you 656s add to a covered work, you may (if authorized by the copyright holders 656s of 656s that material) supplement the terms of this License with terms: 656s . 656s a) Disclaiming warranty or limiting liability differently from the 656s terms of sections 15 and 16 of this License; or 656s . 656s b) Requiring preservation of specified reasonable legal notices or 656s author attributions in that material or in the Appropriate Legal 656s Notices displayed by works containing it; or 656s . 656s c) Prohibiting misrepresentation of the origin of that material, or 656s requiring that modified versions of such material be marked in 656s reasonable ways as different from the original version; or 656s . 656s d) Limiting the use for publicity purposes of names of licensors or 656s authors of the material; or 656s . 656s e) Declining to grant rights under trademark law for use of some 656s trade names, trademarks, or service marks; or 656s . 656s f) Requiring indemnification of licensors and authors of that 656s material by anyone who conveys the material (or modified versions 656s of 656s it) with contractual assumptions of liability to the recipient, for 656s any liability that these contractual assumptions directly impose on 656s those licensors and authors. 656s . 656s All other non-permissive additional terms are considered "further 656s restrictions" within the meaning of section 10. If the Program as you 656s received it, or any part of it, contains a notice stating that it is 656s governed by this License along with a term that is a further 656s restriction, you may remove that term. If a license document contains 656s a further restriction but permits relicensing or conveying under this 656s License, you may add to a covered work material governed by the terms 656s of that license document, provided that the further restriction does 656s not survive such relicensing or conveying. 656s . 656s If you add terms to a covered work in accord with this section, you 656s must place, in the relevant source files, a statement of the 656s additional terms that apply to those files, or a notice indicating 656s where to find the applicable terms. 656s . 656s Additional terms, permissive or non-permissive, may be stated in the 656s form of a separately written license, or stated as exceptions; 656s the above requirements apply either way. 656s . 656s 8. Termination. 656s . 656s You may not propagate or modify a covered work except as expressly 656s provided under this License. Any attempt otherwise to propagate or 656s modify it is void, and will automatically terminate your rights under 656s this License (including any patent licenses granted under the third 656s paragraph of section 11). 656s . 656s However, if you cease all violation of this License, then your 656s license from a particular copyright holder is reinstated (a) 656s provisionally, unless and until the copyright holder explicitly and 656s finally terminates your license, and (b) permanently, if the copyright 656s holder fails to notify you of the violation by some reasonable means 656s prior to 60 days after the cessation. 656s . 656s Moreover, your license from a particular copyright holder is 656s reinstated permanently if the copyright holder notifies you of the 656s violation by some reasonable means, this is the first time you have 656s received notice of violation of this License (for any work) from that 656s copyright holder, and you cure the violation prior to 30 days after 656s your receipt of the notice. 656s . 656s Termination of your rights under this section does not terminate the 656s licenses of parties who have received copies or rights from you under 656s this License. If your rights have been terminated and not permanently 656s reinstated, you do not qualify to receive new licenses for the same 656s material under section 10. 656s . 656s 9. Acceptance Not Required for Having Copies. 656s . 656s You are not required to accept this License in order to receive or 656s run a copy of the Program. Ancillary propagation of a covered work 656s occurring solely as a consequence of using peer-to-peer transmission 656s to receive a copy likewise does not require acceptance. However, 656s nothing other than this License grants you permission to propagate or 656s modify any covered work. These actions infringe copyright if you do 656s not accept this License. Therefore, by modifying or propagating a 656s covered work, you indicate your acceptance of this License to do so. 656s . 656s 10. Automatic Licensing of Downstream Recipients. 656s . 656s Each time you convey a covered work, the recipient automatically 656s receives a license from the original licensors, to run, modify and 656s propagate that work, subject to this License. You are not responsible 656s for enforcing compliance by third parties with this License. 656s . 656s An "entity transaction" is a transaction transferring control of an 656s organization, or substantially all assets of one, or subdividing an 656s organization, or merging organizations. If propagation of a covered 656s work results from an entity transaction, each party to that 656s transaction who receives a copy of the work also receives whatever 656s licenses to the work the party's predecessor in interest had or could 656s give under the previous paragraph, plus a right to possession of the 656s Corresponding Source of the work from the predecessor in interest, if 656s the predecessor has it or can get it with reasonable efforts. 656s . 656s You may not impose any further restrictions on the exercise of the 656s rights granted or affirmed under this License. For example, you may 656s not impose a license fee, royalty, or other charge for exercise of 656s rights granted under this License, and you may not initiate litigation 656s (including a cross-claim or counterclaim in a lawsuit) alleging that 656s any patent claim is infringed by making, using, selling, offering for 656s sale, or importing the Program or any portion of it. 656s . 656s 11. Patents. 656s . 656s A "contributor" is a copyright holder who authorizes use under this 656s License of the Program or a work on which the Program is based. The 656s work thus licensed is called the contributor's "contributor version". 656s . 656s A contributor's "essential patent claims" are all patent claims 656s owned or controlled by the contributor, whether already acquired or 656s hereafter acquired, that would be infringed by some manner, permitted 656s by this License, of making, using, or selling its contributor version, 656s but do not include claims that would be infringed only as a 656s consequence of further modification of the contributor version. For 656s purposes of this definition, "control" includes the right to grant 656s patent sublicenses in a manner consistent with the requirements of 656s this License. 656s . 656s Each contributor grants you a non-exclusive, worldwide, royalty-free 656s patent license under the contributor's essential patent claims, to 656s make, use, sell, offer for sale, import and otherwise run, modify and 656s propagate the contents of its contributor version. 656s . 656s In the following three paragraphs, a "patent license" is any express 656s agreement or commitment, however denominated, not to enforce a patent 656s (such as an express permission to practice a patent or covenant not to 656s sue for patent infringement). To "grant" such a patent license to a 656s party means to make such an agreement or commitment not to enforce a 656s patent against the party. 656s . 656s If you convey a covered work, knowingly relying on a patent license, 656s and the Corresponding Source of the work is not available for anyone 656s to copy, free of charge and under the terms of this License, through a 656s publicly available network server or other readily accessible means, 656s then you must either (1) cause the Corresponding Source to be so 656s available, or (2) arrange to deprive yourself of the benefit of the 656s patent license for this particular work, or (3) arrange, in a manner 656s consistent with the requirements of this License, to extend the patent 656s license to downstream recipients. "Knowingly relying" means you have 656s actual knowledge that, but for the patent license, your conveying the 656s covered work in a country, or your recipient's use of the covered work 656s in a country, would infringe one or more identifiable patents in that 656s country that you have reason to believe are valid. 656s . 656s If, pursuant to or in connection with a single transaction or 656s arrangement, you convey, or propagate by procuring conveyance of, a 656s covered work, and grant a patent license to some of the parties 656s receiving the covered work authorizing them to use, propagate, modify 656s or convey a specific copy of the covered work, then the patent license 656s you grant is automatically extended to all recipients of the covered 656s work and works based on it. 656s . 656s A patent license is "discriminatory" if it does not include within 656s the scope of its coverage, prohibits the exercise of, or is 656s conditioned on the non-exercise of one or more of the rights that are 656s specifically granted under this License. You may not convey a covered 656s work if you are a party to an arrangement with a third party that is 656s in the business of distributing software, under which you make payment 656s to the third party based on the extent of your activity of conveying 656s the work, and under which the third party grants, to any of the 656s parties who would receive the covered work from you, a discriminatory 656s patent license (a) in connection with copies of the covered work 656s conveyed by you (or copies made from those copies), or (b) primarily 656s for and in connection with specific products or compilations that 656s contain the covered work, unless you entered into that arrangement, 656s or that patent license was granted, prior to 28 March 2007. 656s . 656s Nothing in this License shall be construed as excluding or limiting 656s any implied license or other defenses to infringement that may 656s otherwise be available to you under applicable patent law. 656s . 656s 12. No Surrender of Others' Freedom. 656s . 656s If conditions are imposed on you (whether by court order, agreement or 656s otherwise) that contradict the conditions of this License, they do not 656s excuse you from the conditions of this License. If you cannot convey a 656s covered work so as to satisfy simultaneously your obligations under 656s this 656s License and any other pertinent obligations, then as a consequence you 656s may 656s not convey it at all. For example, if you agree to terms that obligate 656s you 656s to collect a royalty for further conveying from those to whom you 656s convey 656s the Program, the only way you could satisfy both those terms and this 656s License would be to refrain entirely from conveying the Program. 656s . 656s 13. Remote Network Interaction; Use with the GNU General Public 656s License. 656s . 656s Notwithstanding any other provision of this License, if you modify the 656s Program, your modified version must prominently offer all users 656s interacting with it remotely through a computer network (if your 656s version 656s supports such interaction) an opportunity to receive the Corresponding 656s Source of your version by providing access to the Corresponding Source 656s from a network server at no charge, through some standard or customary 656s means of facilitating copying of software. This Corresponding Source 656s shall include the Corresponding Source for any work covered by version 656s 3 656s of the GNU General Public License that is incorporated pursuant to the 656s following paragraph. 656s . 656s Notwithstanding any other provision of this License, you have 656s permission to link or combine any covered work with a work licensed 656s under version 3 of the GNU General Public License into a single 656s combined work, and to convey the resulting work. The terms of this 656s License will continue to apply to the part which is the covered work, 656s but the work with which it is combined will remain governed by version 656s 3 of the GNU General Public License. 656s . 656s 14. Revised Versions of this License. 656s . 656s The Free Software Foundation may publish revised and/or new versions of 656s the GNU Affero General Public License from time to time. Such new 656s versions 656s will be similar in spirit to the present version, but may differ in 656s detail to 656s address new problems or concerns. 656s . 656s Each version is given a distinguishing version number. If the 656s Program specifies that a certain numbered version of the GNU Affero 656s General 656s Public License "or any later version" applies to it, you have the 656s option of following the terms and conditions either of that numbered 656s version or of any later version published by the Free Software 656s Foundation. If the Program does not specify a version number of the 656s GNU Affero General Public License, you may choose any version ever 656s published 656s by the Free Software Foundation. 656s . 656s If the Program specifies that a proxy can decide which future 656s versions of the GNU Affero General Public License can be used, that 656s proxy's 656s public statement of acceptance of a version permanently authorizes you 656s to choose that version for the Program. 656s . 656s Later license versions may give you additional or different 656s permissions. However, no additional obligations are imposed on any 656s author or copyright holder as a result of your choosing to follow a 656s later version. 656s . 656s 15. Disclaimer of Warranty. 656s . 656s THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 656s APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 656s HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT 656s WARRANTY 656s OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED 656s TO, 656s THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 656s PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 656s PROGRAM 656s IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST 656s OF 656s ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 656s . 656s 16. Limitation of Liability. 656s . 656s IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 656s WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR 656s CONVEYS 656s THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING 656s ANY 656s GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF 656s THE 656s USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS 656s OF 656s DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR 656s THIRD 656s PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 656s PROGRAMS), 656s EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY 656s OF 656s SUCH DAMAGES. 656s . 656s 17. Interpretation of Sections 15 and 16. 656s . 656s If the disclaimer of warranty and limitation of liability provided 656s above cannot be given local legal effect according to their terms, 656s reviewing courts shall apply local law that most closely approximates 656s an absolute waiver of all civil liability in connection with the 656s Program, unless a warranty or assumption of liability accompanies a 656s copy of the Program in return for a fee. 656s . 656s END OF TERMS AND CONDITIONS 656s . 656s How to Apply These Terms to Your New Programs 656s . 656s If you develop a new program, and you want it to be of the greatest 656s possible use to the public, the best way to achieve this is to make it 656s free software which everyone can redistribute and change under these 656s terms. 656s . 656s To do so, attach the following notices to the program. It is safest 656s to attach them to the start of each source file to most effectively 656s state the exclusion of warranty; and each file should have at least 656s the "copyright" line and a pointer to where the full notice is found. 656s . 656s 656s Copyright (C) 656s . 656s This program is free software: you can redistribute it and/or 656s modify 656s it under the terms of the GNU Affero General Public License as 656s published by 656s the Free Software Foundation, either version 3 of the License, or 656s (at your option) any later version. 656s . 656s This program is distributed in the hope that it will be useful, 656s but WITHOUT ANY WARRANTY; without even the implied warranty of 656s MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 656s GNU Affero General Public License for more details. 656s . 656s You should have received a copy of the GNU Affero General Public 656s License 656s along with this program. If not, see 656s . 656s . 656s Also add information on how to contact you by electronic and paper 656s mail. 656s . 656s If your software can interact with users remotely through a computer 656s network, you should also make sure that it provides a way for users to 656s get its source. For example, if your program is a web application, its 656s interface could display a "Source" link that leads users to an archive 656s of the code. There are many ways you could offer source, and different 656s solutions will be better for different programs; see section 13 for the 656s specific requirements. 656s . 656s You should also get your employer (if you work as a programmer) or 656s school, 656s if any, to sign a "copyright disclaimer" for the program, if necessary. 656s For more information on this, and how to apply and follow the GNU AGPL, 656s see 656s . 656s # 5.2 Main functionality 656s opnk index.gmi 656s index.gmi (7 items) (local file) 656s OFFPUNK - An Offline-First Browser for the Smolnet 656s 656s Offpunk is a command-line browser and feed reader dedicated to browsing 656s the Web, Gemini, Gopher and Spartan. Thanks to its permanent cache, it 656s is optimised to be used offline with rare connections but works as well 656s when connected. 656s 656s Offpunk is optimised for reading and supports readability mode, 656s displaying pictures, subscribing to pages or RSS feeds, managing complex 656s lists of bookmarks. Its integrated help and easy commands make it a 656s perfect tool for command-line novices while power-users will be amazed 656s by its shell integration. 656s 656s Offpunk is written in Python 3 by Ploum. It aims to be portable and 656s minimise dependencies, making them optional. It supports 656s http/https/gopher/gemini/spartan on both IPv4 and IPv6. 656s 656s 656s [1] Installing Offpunk and dependencies 656s [2] First steps 656s [3] Configuring Offpunk 656s [4] Using Offpunk offline 656s [5] Lists and subscriptions 656s [6] Shell and OS integrations 656s [7] Roadmap & Contributions 656s 656s  657s autopkgtest [21:26:04]: test run-commands: -----------------------] 657s run-commands PASS 657s autopkgtest [21:26:04]: test run-commands: - - - - - - - - - - results - - - - - - - - - - 658s autopkgtest [21:26:05]: @@@@@@@@@@@@@@@@@@@@ summary 658s run-commands PASS 658s run-commands PASS 658s run-commands PASS 677s nova [W] Skipping flock in bos03-arm64 677s Creating nova instance adt-oracular-arm64-offpunk-20240627-211507-juju-7f2275-prod-proposed-migration-environment-2-57353269-2fe5-496e-abe0-7e8899e794cd from image adt/ubuntu-oracular-arm64-server-20240626.img (UUID e9e82f35-c378-4d21-81eb-4b45711533b8)...