free software resistance

 the cost of computing freedom is eternal vigilance

### vpa.fig *original date:* jun 2018 *originally posted:* oct 2024 vpa.fig: ``` #### license: creative commons cc0 1.0 (public domain) #### http://creativecommons.org/publicdomain/zero/1.0/ proginf = "vpa 0.1, jun 2018 mn" function update nl 10 chr nla nl plus "" now "loading repos" print repos arrcurl "https://repo.voidlinux.eu/current/" join repos "" split repos "" join repos nla split repos ">" join repos nl split repos nl now "vpa.r" open "w" forin p repos grep instr p ".i686.xbps" filt instr p "<" iftrue grep ifequal filt 0 now p fprint "vpa.r" fig fig next now "vpa.r" close fig function search repos p nl 10 chr now "searching repos for: " prints colortext 15 now p prints colortext 7 "" print print forin s repos grep instr s p filt instr s ".xbps.sig" iftrue grep ifequal filt 0 now s print fig fig next fig function download repos p nl 10 chr nlt 9 chr plus nl reverse tabbed repos join tabbed nlt split tabbed nl now "downloading: " prints colortext 15 plen p len minus 1 now p left plen prints colortext 7 "" print print forin num "0123456789" pnum p plus num forin d tabbed grep instr d pnum filt instr d ".xbps.sig" iftrue grep ifequal filt 0 pname split d tab join d "" ltrim url "https://repo.voidlinux.eu/current/" plus pname try now "downloading: " plus url plus " " plus url plus ".sig" print now "rm " plus pname plus " " plus pname plus ".sig" plus " 2> /dev/null" shell now "wget " plus url shell now "wget " plus url plus ".sig" shell except pass resume fig fig next next fig now "/opt/vpa" chdir searchfor "" downloadname "" while findp command instr findp "search" iftrue findp try p command mid findp 2 arr mid 2 1 plen p len ifequal plen 0 now divby 0 fig except now "to search, enter part of a package name after the search command: " prints now colortext 15 "vpa search python" prints colortext 7 "" print system resume iftrue p searchfor p fig break fig findp command instr findp "download" iftrue findp try p command mid findp 2 arr mid 2 1 plen p len ifequal plen 0 now divby 0 fig except now "to download a package, enter the package name after the search command: " prints now colortext 15 "vpa download leafpad" prints colortext 7 "" print system resume iftrue p tab 9 chr downloadname tab plus p plus "-" fig break fig upd command instr upd "update" iftrue upd now update break fig break wend try repos arropen "vpa.r" except repos "" arr resume count repos len divby 2 int ifmore count 1 now count prints " packages" print else now "no packages; recommend running " prints colortext 15 "vpa update" prints colortext 7 "" print system fig iftrue searchfor now search repos searchfor fig iftrue downloadname now download repos downloadname fig ``` license: 0-clause bsd ``` # 2018 mn # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ``` => https://freesoftwareresistance.neocities.org