From 94519cbfbf833e3bf22707fc70e58b4d583b2167 Mon Sep 17 00:00:00 2001 From: bacwyls Date: Wed, 7 Dec 2022 17:16:11 -0600 Subject: [PATCH 01/44] clay: add scry for subscribers of a desk This data is valuable for app developers and %base OTA providers --- pkg/arvo/sys/vane/clay.hoon | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index ff2ccaf89..d97b9e35b 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4245,6 +4245,21 @@ %- wrap:fusion (page-to-cage:(aeon-ford yon) u.peg) ``cage+[-:!>(*^cage) cage] + :: + %subs + =/ doj=(unit dojo) (~(get by dos.rom) i.t.pax) + ?~ doj ~ + =| sus=(set ship) + =/ wos ~(tap in ~(key by qyx.u.doj)) + |- + ?~ wos + ``noun+!>(sus) + ?~ for.i.wos + $(wos t.wos) + %= $ + wos t.wos + sus (~(put in sus) ship.u.for.i.wos) + == :: %open ``open+!>(prelude:(aeon-ford yon)) %late !! :: handled in +aver From 38540ada2c79ffeca7ec09890de9e2a1f5b75dbe Mon Sep 17 00:00:00 2001 From: Philip Monk Date: Fri, 20 Jan 2023 12:17:35 -0700 Subject: [PATCH 02/44] apps: bump kelvin Fixes #6227 --- pkg/landscape/sys.kelvin | 1 + pkg/webterm/sys.kelvin | 1 + 2 files changed, 2 insertions(+) diff --git a/pkg/landscape/sys.kelvin b/pkg/landscape/sys.kelvin index 0cb1220e5..ea744fdf1 100644 --- a/pkg/landscape/sys.kelvin +++ b/pkg/landscape/sys.kelvin @@ -1 +1,2 @@ [%zuse 416] +[%zuse 415] diff --git a/pkg/webterm/sys.kelvin b/pkg/webterm/sys.kelvin index 0cb1220e5..ea744fdf1 100644 --- a/pkg/webterm/sys.kelvin +++ b/pkg/webterm/sys.kelvin @@ -1 +1,2 @@ [%zuse 416] +[%zuse 415] From 4d260147d42be45e061a7d3f71c820040c413320 Mon Sep 17 00:00:00 2001 From: fang Date: Fri, 20 Jan 2023 20:56:50 +0100 Subject: [PATCH 03/44] chat-cli: put it to rest Old groups software, no longer supported. Don't want this to be re-linked and confuse people just trying to use their dojo. --- pkg/landscape/app/chat-hook.hoon | 5 ++++- pkg/landscape/desk.bill | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/landscape/app/chat-hook.hoon b/pkg/landscape/app/chat-hook.hoon index f6da35a7d..5d95561bd 100644 --- a/pkg/landscape/app/chat-hook.hoon +++ b/pkg/landscape/app/chat-hook.hoon @@ -49,7 +49,10 @@ =| cards=(list card) |- ?: ?=(%11 -.old) - [cards this(state old)] + :_ this(state old) + :_ cards + :+ %pass /cli-cleanup + [%agent [our.bol %hood] %poke %drum-unlink !>([%$ our.bol %chat-cli])] =. cards :_ cards =- [%pass /self-poke %agent [our.bol %chat-hook] %poke -] diff --git a/pkg/landscape/desk.bill b/pkg/landscape/desk.bill index 573beb789..3a8c88c69 100644 --- a/pkg/landscape/desk.bill +++ b/pkg/landscape/desk.bill @@ -5,7 +5,6 @@ %group-store %invite-store %s3-store - %chat-cli %chat-hook %chat-view %clock From 45810c9ff3cd69f1394d6c66c473ce033b71ea8b Mon Sep 17 00:00:00 2001 From: Tinnus Napbus Date: Mon, 23 Jan 2023 21:48:08 +1300 Subject: [PATCH 04/44] acme: handle https redirect in self-check also: libdns handle 301 redirect during self-check --- pkg/arvo/app/acme.hoon | 10 +++++----- pkg/arvo/lib/dns.hoon | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/arvo/app/acme.hoon b/pkg/arvo/app/acme.hoon index cd2a2a09b..c92b46b8a 100644 --- a/pkg/arvo/app/acme.hoon +++ b/pkg/arvo/app/acme.hoon @@ -584,10 +584,11 @@ ~| [%no-next-domain idx=idx] (head (skim pending |=([turf idx=@ud ?] =(idx ^idx)))) :: XX should confirm that :turf points to us - :: confirms that domain exists (and an urbit is on :80) + :: confirms that domain exists :: + =/ sec=? p:.^(hart:eyre %e /(scot %p our.bow)/host/(scot %da now.bow)) =/ =purl - :- [sec=| por=~ host=[%& turf.next]] + :- [sec=sec por=~ host=[%& turf.next]] [[ext=~ path=/'~debug'] query=~] =/ =wire (acme-wire try %validate-domain /idx/(scot %ud idx.next)) @@ -754,9 +755,8 @@ ?> ?=(%wake sas.u.rod) =* aut u.active.aut.u.rod =/ pat=path /'.well-known'/acme-challenge/[tok.cal.aut] - :: note: requires port 80, just as the ACME service will - :: - =/ url=purl [[sec=| por=~ hos=[%& dom.aut]] [ext=~ pat] hed=~] + =/ sec=? p:.^(hart:eyre %e /(scot %p our.bow)/host/(scot %da now.bow)) + =/ url=purl [[sec=sec por=~ hos=[%& dom.aut]] [ext=~ pat] hed=~] :: =/ url=purl [[sec=| por=`8.081 hos=[%& /localhost]] [ext=~ pat] hed=~] :: XX idx in wire? :: diff --git a/pkg/arvo/lib/dns.hoon b/pkg/arvo/lib/dns.hoon index cbad20271..f2891ca39 100644 --- a/pkg/arvo/lib/dns.hoon +++ b/pkg/arvo/lib/dns.hoon @@ -36,7 +36,7 @@ ;< ~ bind:m (backoff:strandio try ~h1) ;< rep=(unit httr:eyre) bind:m (hiss-request:strandio hiss) ?: ?& ?=(^ rep) - |(=(200 p.u.rep) =(307 p.u.rep)) + |(=(200 p.u.rep) =(307 p.u.rep) =(301 p.u.rep)) == (pure:m &) ?. ?| ?=(~ rep) From 753896c1737238b335874aabb87683d7372b3d7d Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Mon, 23 Jan 2023 12:24:04 -0600 Subject: [PATCH 05/44] MAINTAINERS.md: improve tagging instructions Fixes #6240. --- MAINTAINERS.md | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 2e2e2746f..eceb7ebaf 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -72,20 +72,27 @@ release branch is cut from `develop` and the process begins again. ### Tagging -If it's a very trivial hotfix that you know isn't going to break anything, tag -it as `urbit-os-vx.y`. Here 'x' is the major version and 'y' is an OTA patch -counter. +When we branch release to deploy to `~marnec`, we need to tag it as a release candidate (RC), like `urbit-os-vx.y-rc1`. Here 'x' is the major version and 'y' is an OTA patch counter. After this any change that goes into release gets a new tag that increments the rc. -Use an annotated tag, i.e. +After we ship a release to the live network, add a tag that is not a release candidate, like `urbit-os-vx.y`, to the master branch, since that's what was released. + +#### Applying the Tag Locally + +Use an annotated tag with the `-a` git argument. Make sure to follow +the naming convention for RCs and live releases, described above. + + +To add a tag to the local repo, run this: ``` -git tag -a urbit-os-vx.y +git tag -a ``` -The tag format should look something like this: +This will bring up an editor, where you should add the release notes, +which should look like this: ``` -urbit-os-vx.y + This release will be pushed to the network as an over-the-air update. @@ -98,9 +105,17 @@ Contributions: [..] ``` -You can get the "contributions" section by the shortlog between the last release -and this release: +To fill in the "contributions" section, copy in the shortlog between the last release and this release, obtained by running this command: ``` git shortlog --no-merges LAST_RELEASE.. ``` + +#### Pushing the Tag to the Main Repo + +Once you have added a tag, push it to the main repository using the +following command: + +``` +git push origin +``` From 74e653053d8ad2a464fabb636d31219510d34fb5 Mon Sep 17 00:00:00 2001 From: fang Date: Fri, 29 Oct 2021 01:08:25 +0200 Subject: [PATCH 06/44] lib: move pill creation into /lib/pill In preparation for pill building from outside the generators. --- pkg/arvo/gen/brass.hoon | 42 +------- pkg/arvo/gen/ivory.hoon | 58 +---------- pkg/arvo/gen/solid.hoon | 79 +-------------- pkg/arvo/lib/hood/helm.hoon | 1 - pkg/base-dev/lib/pill.hoon | 187 ++++++++++++++++++++++++++++++++++++ 5 files changed, 190 insertions(+), 177 deletions(-) diff --git a/pkg/arvo/gen/brass.hoon b/pkg/arvo/gen/brass.hoon index 98c39ec7e..5dc27030d 100644 --- a/pkg/arvo/gen/brass.hoon +++ b/pkg/arvo/gen/brass.hoon @@ -39,50 +39,10 @@ ?~ arg %base ?>(?=(@ base.arg) base.arg) /(scot %p p.bec)/[desk]/(scot %da now)/sys -=/ bas=path - (scag 3 sys) =/ dez=(list [desk path]) ?~ arg ~ %+ turn rest.arg |= =desk [desk /(scot %p p.bec)/[desk]/(scot %da now)] :: -:: compiler-source: hoon source file producing compiler, `sys/hoon` -:: -=+ compiler-source=.^(@t %cx (welp sys /hoon/hoon)) -:: -:: compiler-twig: compiler as hoon expression -:: -~& %brass-parsing -=+ compiler-twig=(rain /sys/hoon/hoon compiler-source) -~& %brass-parsed -:: -:: compiler-formula: compiler as nock formula -:: -~& %brass-compiling -=+ compiler-formula=q:(~(mint ut %noun) %noun compiler-twig) -~& %brass-compiled -:: -:: arvo-source: hoon source file producing arvo kernel, `sys/arvo` -:: -=+ arvo-source=.^(@t %cx (welp sys /arvo/hoon)) -:: -:: boot-ova: startup events -:: -=/ boot-ova=(list) - :~ aeon:eden:part - boot:eden:part - compiler-formula - compiler-source - arvo-source - == -:: a pill is a 3-tuple of event-lists: [boot kernel userspace] -:: -:+ %pill %brass -:+ boot-ova - :~ (boot-ovum:pill compiler-source arvo-source) - (file-ovum2:pill bas) - == -%+ turn - (snoc dez [%base bas]) -file-ovum:pill +(brass:pill sys dez) \ No newline at end of file diff --git a/pkg/arvo/gen/ivory.hoon b/pkg/arvo/gen/ivory.hoon index 6ae9a2504..387ac43f3 100644 --- a/pkg/arvo/gen/ivory.hoon +++ b/pkg/arvo/gen/ivory.hoon @@ -17,60 +17,4 @@ =/ sys=path ?^ arg top.arg /(scot %p p.bec)/[q.bec]/(scot %da now)/sys -=/ lib - (welp (flop (tail (flop sys))) /lib) -:: -|^ =/ ver - =/ sub *(trap vase) - =. sub (build-sys sub %hoon) - =. sub (build-sys sub %arvo) - =. sub (build-sys sub %lull) - =. sub (build-sys sub %zuse) - =. sub (build-lib sub & %ethereum) - =. sub (build-lib sub & %azimuth) - (build-lib sub | %vere) - =/ nok !. - => *[ver=(trap vase) ~] - != q:$:ver - ivory/[nok ver ~] -:: -++ build-sys - |= [sub=(trap vase) nam=term] ^- (trap vase) - ~> %slog.[0 leaf+"ivory: building /sys/{(trip nam)}"] - (swat sub (rain /sys/[nam]/hoon .^(@t cx+(welp sys /[nam]/hoon)))) -:: -++ build-lib - |= [sub=(trap vase) imp=? nam=term] ^- (trap vase) - ~> %slog.[0 leaf+"ivory: building /lib/{(trip nam)}"] - =/ hun=hoon - %+ mist /lib/[nam]/hoon - .^(@t cx+(welp lib /[nam]/hoon)) - ?. imp (swat sub hun) - (swel sub [%ktts nam hun]) -:: +mist: +rain but skipping past ford runes -:: -++ mist - |= [bon=path txt=@] - ^- hoon - =+ vas=vast - ~| bon - %+ scan (trip txt) - %- full - =; fud - (ifix [;~(plug gay fud) gay] tall:vas(wer bon)) - %- star - ;~ pose vul - %+ ifix [fas (just `@`10)] - (star ;~(less (just `@`10) next)) - == -:: +swel: +swat but with +slop -:: -++ swel - |= [tap=(trap vase) gen=hoon] - ^- (trap vase) - =/ gun (~(mint ut p:$:tap) %noun gen) - => [tap=tap gun=gun] - |. ~+ - =/ pro q:$:tap - [[%cell p.gun p:$:tap] [.*(pro q.gun) pro]] --- +(ivory:pill sys) diff --git a/pkg/arvo/gen/solid.hoon b/pkg/arvo/gen/solid.hoon index cfd54601e..23f1fb9d3 100644 --- a/pkg/arvo/gen/solid.hoon +++ b/pkg/arvo/gen/solid.hoon @@ -31,9 +31,6 @@ == :- %pill ^- pill:pill -:: sys: root path to boot system, `/~me/[desk]/now/sys` -:: bas: root path to boot system' desk -:: dez: secondary desks and their root paths :: =/ sys=path ?: ?=([^ *] arg) @@ -42,84 +39,10 @@ ?~ arg %base ?>(?=(@ base.arg) base.arg) /(scot %p p.bec)/[desk]/(scot %da now)/sys -=/ bas=path - (scag 3 sys) =/ dez=(list [desk path]) ?~ arg ~ %+ turn rest.arg |= =desk [desk /(scot %p p.bec)/[desk]/(scot %da now)] :: -=/ compiler-path (weld sys /hoon) -=/ arvo-path (weld sys /arvo) -~& %solid-start -=/ compiler-src .^(@t %cx (weld compiler-path /hoon)) -=/ arvo-src .^(@t %cx (weld arvo-path /hoon)) -=/ arvo-formula - ~& %solid-loaded - =/ compiler-hoon (rain compiler-path compiler-src) - ?. dub - :: compile arvo against hoon, with our current compiler - :: - =/ whole-hoon=hoon - [%tsgr compiler-hoon [%tsgr [%$ 7] (rain arvo-path arvo-src)]] - ~& %solid-parsed - =/ whole-formula q:(~(mint ut %noun) %noun whole-hoon) - ~& %solid-arvo - whole-formula - :: compile arvo against hoon, with a freshly compiled hoon (via +ride) - :: - ~& %solid-parsed - =/ compiler-formula q:(~(mint ut %noun) %noun compiler-hoon) - ~& %solid-compiled - =/ whole-src - (rap 3 ['=> ' compiler-src '=> +7 ' arvo-src ~]) - ~& %solid-double-loaded - =/ whole-formula - =< + - .* [%noun whole-src] - [%8 compiler-formula [%9 2 %10 [6 %0 3] [%0 2]]] - ~& %solid-double-compiled - whole-formula -:: -~& [%solid-kernel `@ux`(mug arvo-formula)] -:: -:: installed: Arvo gate (formal interface) with %zuse and vanes installed -:: -=/ installed - =< q - %^ spin - ^- (list ovum) - :- (boot-ovum:pill compiler-src arvo-src) - %+ turn - (snoc (turn dez tail) bas) - file-ovum2:pill - .*(0 arvo-formula) - |= [ovo=ovum ken=*] - [~ (slum ken [now ovo])] -:: -:: boot-two: startup formula -:: -:: We evaluate :arvo-formula (for jet registration), -:: then ignore the result and produce .installed -:: -=/ boot-two - => *[arvo-formula=^ installed=^ tale=*] - != =+(.*(0 arvo-formula) [installed tale]) -:: -:: boot-ova -:: -=/ boot-ova=(list) - [aeon:eden:part boot-two arvo-formula installed ~] -:: -:: a pill is a 3-tuple of event-lists: [boot kernel userspace] -:: -:: Our kernel event-list is ~, as we've already installed them. -:: Our userspace event-list is a list containing a full %clay -:: filesystem sync event. -:: -:+ %pill %solid -:+ boot-ova ~ -%+ turn - (snoc dez [%base bas]) -file-ovum:pill +(solid:pill sys dez dub now) diff --git a/pkg/arvo/lib/hood/helm.hoon b/pkg/arvo/lib/hood/helm.hoon index 6b29348a2..0c812cbe8 100644 --- a/pkg/arvo/lib/hood/helm.hoon +++ b/pkg/arvo/lib/hood/helm.hoon @@ -1,4 +1,3 @@ -/+ pill =* card card:agent:gall |% +$ state state-2 diff --git a/pkg/base-dev/lib/pill.hoon b/pkg/base-dev/lib/pill.hoon index 1f6993fb6..a4bb4fd34 100644 --- a/pkg/base-dev/lib/pill.hoon +++ b/pkg/base-dev/lib/pill.hoon @@ -135,4 +135,191 @@ |- ^+ hav ?~ all hav $(all t.all, hav ^$(tyl [p.i.all tyl])) +:: +++ solid + :: sys: root path to boot system, `/~me/[desk]/now/sys` + :: dez: secondary desks and their root paths + :: + |= [sys=path dez=(list [desk path]) dub=? now=@da] + ^- pill + =/ bas=path (scag 3 sys) + =/ compiler-path (weld sys /hoon) + =/ arvo-path (weld sys /arvo) + ~& %solid-start + =/ compiler-src .^(@t %cx (weld compiler-path /hoon)) + =/ arvo-src .^(@t %cx (weld arvo-path /hoon)) + =/ arvo-formula + ~& %solid-loaded + =/ compiler-hoon (rain compiler-path compiler-src) + ?. dub + :: compile arvo against hoon, with our current compiler + :: + =/ whole-hoon=hoon + [%tsgr compiler-hoon [%tsgr [%$ 7] (rain arvo-path arvo-src)]] + ~& %solid-parsed + =/ whole-formula q:(~(mint ut %noun) %noun whole-hoon) + ~& %solid-arvo + whole-formula + :: compile arvo against hoon, with a freshly compiled hoon (via +ride) + :: + ~& %solid-parsed + =/ compiler-formula q:(~(mint ut %noun) %noun compiler-hoon) + ~& %solid-compiled + =/ whole-src + (rap 3 ['=> ' compiler-src '=> +7 ' arvo-src ~]) + ~& %solid-double-loaded + =/ whole-formula + =< + + .* [%noun whole-src] + [%8 compiler-formula [%9 2 %10 [6 %0 3] [%0 2]]] + ~& %solid-double-compiled + whole-formula + :: + ~& [%solid-kernel `@ux`(mug arvo-formula)] + :: + :: installed: Arvo gate (formal interface) with %zuse and vanes installed + :: + =/ installed + =< q + %^ spin + ^- (list ovum) + :- (boot-ovum:pill compiler-src arvo-src) + %+ turn + (snoc (turn dez tail) bas) + file-ovum2:pill + .*(0 arvo-formula) + |= [ovo=ovum ken=*] + [~ (slum ken [now ovo])] + :: + :: boot-two: startup formula + :: + :: We evaluate :arvo-formula (for jet registration), + :: then ignore the result and produce .installed + :: + =/ boot-two + => *[arvo-formula=^ installed=^ tale=*] + != =+(.*(0 arvo-formula) [installed tale]) + :: + :: boot-ova + :: + =/ boot-ova=(list) + [aeon:eden:part boot-two arvo-formula installed ~] + :: + :: a pill is a 3-tuple of event-lists: [boot kernel userspace] + :: + :: Our kernel event-list is ~, as we've already installed them. + :: Our userspace event-list is a list containing a full %clay + :: filesystem sync event. + :: + :+ %pill %solid + :+ boot-ova ~ + %+ turn + (snoc dez [%base bas]) + file-ovum:pill +:: +++ brass + :: sys: root path to boot system, `/~me/[desk]/now/sys` + :: dez: secondary desks and their root paths + :: + |= [sys=path dez=(list [desk path])] + ^- pill + =/ bas=path (scag 3 sys) + :: compiler-source: hoon source file producing compiler, `sys/hoon` + :: + =+ compiler-source=.^(@t %cx (welp sys /hoon/hoon)) + :: + :: compiler-twig: compiler as hoon expression + :: + ~& %brass-parsing + =+ compiler-twig=(rain /sys/hoon/hoon compiler-source) + ~& %brass-parsed + :: + :: compiler-formula: compiler as nock formula + :: + ~& %brass-compiling + =+ compiler-formula=q:(~(mint ut %noun) %noun compiler-twig) + ~& %brass-compiled + :: + :: arvo-source: hoon source file producing arvo kernel, `sys/arvo` + :: + =+ arvo-source=.^(@t %cx (welp sys /arvo/hoon)) + :: + :: boot-ova: startup events + :: + =/ boot-ova=(list) + :~ aeon:eden:part + boot:eden:part + compiler-formula + compiler-source + arvo-source + == + :: a pill is a 3-tuple of event-lists: [boot kernel userspace] + :: + :+ %pill %brass + :+ boot-ova + :~ (boot-ovum:pill compiler-source arvo-source) + (file-ovum2:pill bas) + == + %+ turn + (snoc dez [%base bas]) + file-ovum:pill +:: +++ ivory + |= sys=path + ^- pill + =/ lib (snoc (scag 3 sys) %lib) + |^ =/ ver + =/ sub *(trap vase) + =. sub (build-sys sub %hoon) + =. sub (build-sys sub %arvo) + =. sub (build-sys sub %lull) + =. sub (build-sys sub %zuse) + =. sub (build-lib sub & %ethereum) + =. sub (build-lib sub & %azimuth) + (build-lib sub | %vere) + =/ nok !. + => *[ver=(trap vase) ~] + != q:$:ver + ivory/[nok ver ~] + :: + ++ build-sys + |= [sub=(trap vase) nam=term] ^- (trap vase) + ~> %slog.[0 leaf+"ivory: building /sys/{(trip nam)}"] + (swat sub (rain /sys/[nam]/hoon .^(@t cx+(welp sys /[nam]/hoon)))) + :: + ++ build-lib + |= [sub=(trap vase) imp=? nam=term] ^- (trap vase) + ~> %slog.[0 leaf+"ivory: building /lib/{(trip nam)}"] + =/ hun=hoon + %+ mist /lib/[nam]/hoon + .^(@t cx+(welp lib /[nam]/hoon)) + ?. imp (swat sub hun) + (swel sub [%ktts nam hun]) + :: +mist: +rain but skipping past ford runes + :: + ++ mist + |= [bon=path txt=@] + ^- hoon + =+ vas=vast + ~| bon + %+ scan (trip txt) + %- full + =; fud + (ifix [;~(plug gay fud) gay] tall:vas(wer bon)) + %- star + ;~ pose vul + %+ ifix [fas (just `@`10)] + (star ;~(less (just `@`10) next)) + == + :: +swel: +swat but with +slop + :: + ++ swel + |= [tap=(trap vase) gen=hoon] + ^- (trap vase) + =/ gun (~(mint ut p:$:tap) %noun gen) + => [tap=tap gun=gun] + |. ~+ + =/ pro q:$:tap + [[%cell p.gun p:$:tap] [.*(pro q.gun) pro]] + -- -- From 50da8a0bec3f97a08a55ab8a84fc314fc0d14606 Mon Sep 17 00:00:00 2001 From: fang Date: Fri, 29 Oct 2021 01:09:04 +0200 Subject: [PATCH 07/44] autopill: make pills when desk contents change Automatically builds pills and writes them to urb/.put when relevant desks change. Intended for deployment onto a livenet ship from which pills may then be sourced. --- pkg/autopill/app/autopill.hoon | 210 ++++++++++++++++++ pkg/autopill/desk.bill | 3 + pkg/autopill/lib/agentio.hoon | 1 + pkg/autopill/lib/azimuth.hoon | 1 + pkg/autopill/lib/azimuthio.hoon | 1 + pkg/autopill/lib/bip/b158.hoon | 1 + pkg/autopill/lib/bip/b173.hoon | 1 + pkg/autopill/lib/bip/b174.hoon | 1 + pkg/autopill/lib/bip32.hoon | 1 + pkg/autopill/lib/bip39.hoon | 1 + pkg/autopill/lib/bip39/english.hoon | 1 + pkg/autopill/lib/bitcoin-utils.hoon | 1 + pkg/autopill/lib/cram.hoon | 1 + pkg/autopill/lib/dbug.hoon | 1 + pkg/autopill/lib/default-agent.hoon | 1 + pkg/autopill/lib/der.hoon | 1 + pkg/autopill/lib/ethereum.hoon | 1 + pkg/autopill/lib/ethio.hoon | 1 + pkg/autopill/lib/jose.hoon | 1 + pkg/autopill/lib/keygen.hoon | 1 + pkg/autopill/lib/language-server/build.hoon | 1 + .../lib/language-server/complete.hoon | 1 + .../lib/language-server/easy-print.hoon | 1 + pkg/autopill/lib/language-server/json.hoon | 1 + pkg/autopill/lib/language-server/parser.hoon | 1 + .../lib/language-server/rune-snippet.hoon | 1 + pkg/autopill/lib/ph/io.hoon | 1 + pkg/autopill/lib/ph/util.hoon | 1 + pkg/autopill/lib/pill.hoon | 1 + pkg/autopill/lib/pkcs.hoon | 1 + pkg/autopill/lib/primitive-rsa.hoon | 1 + pkg/autopill/lib/ring.hoon | 1 + pkg/autopill/lib/server.hoon | 1 + pkg/autopill/lib/shoe.hoon | 1 + pkg/autopill/lib/skeleton.hoon | 1 + pkg/autopill/lib/sole.hoon | 1 + pkg/autopill/lib/strand.hoon | 1 + pkg/autopill/lib/strandio.hoon | 1 + pkg/autopill/lib/test.hoon | 1 + pkg/autopill/lib/verb.hoon | 1 + pkg/autopill/mar/belt.hoon | 1 + pkg/autopill/mar/bill.hoon | 1 + pkg/autopill/mar/blit.hoon | 1 + pkg/autopill/mar/hoon.hoon | 1 + pkg/autopill/mar/htm.hoon | 1 + pkg/autopill/mar/html.hoon | 1 + pkg/autopill/mar/httr.hoon | 1 + pkg/autopill/mar/hymn.hoon | 1 + pkg/autopill/mar/js.hoon | 1 + pkg/autopill/mar/json.hoon | 1 + pkg/autopill/mar/json/rpc/response.hoon | 1 + pkg/autopill/mar/kelvin.hoon | 1 + .../mar/language-server/rpc/notification.hoon | 1 + .../mar/language-server/rpc/request.hoon | 1 + .../mar/language-server/rpc/response.hoon | 1 + pkg/autopill/mar/mime.hoon | 1 + pkg/autopill/mar/noun.hoon | 1 + pkg/autopill/mar/path.hoon | 1 + pkg/autopill/mar/png.hoon | 1 + pkg/autopill/mar/purl.hoon | 1 + pkg/autopill/mar/ship.hoon | 1 + pkg/autopill/mar/sole/action.hoon | 1 + pkg/autopill/mar/sole/effect.hoon | 1 + pkg/autopill/mar/svg.hoon | 1 + pkg/autopill/mar/tang.hoon | 1 + pkg/autopill/mar/tape.hoon | 1 + pkg/autopill/mar/txt-diff.hoon | 1 + pkg/autopill/mar/txt.hoon | 1 + pkg/autopill/mar/udon.hoon | 1 + pkg/autopill/mar/umd.hoon | 1 + pkg/autopill/mar/urb.hoon | 1 + pkg/autopill/mar/urbit.hoon | 1 + pkg/autopill/mar/woff2.hoon | 1 + pkg/autopill/mar/xml.hoon | 1 + pkg/autopill/sur/aquarium.hoon | 1 + pkg/autopill/sur/asn1.hoon | 1 + pkg/autopill/sur/bitcoin.hoon | 1 + pkg/autopill/sur/hood.hoon | 1 + pkg/autopill/sur/json/rpc.hoon | 1 + pkg/autopill/sur/keygen.hoon | 1 + pkg/autopill/sur/language-server.hoon | 1 + pkg/autopill/sur/ring.hoon | 1 + pkg/autopill/sur/sole.hoon | 1 + pkg/autopill/sur/spider.hoon | 1 + pkg/autopill/sur/verb.hoon | 1 + pkg/autopill/sys.kelvin | 1 + 86 files changed, 297 insertions(+) create mode 100644 pkg/autopill/app/autopill.hoon create mode 100644 pkg/autopill/desk.bill create mode 120000 pkg/autopill/lib/agentio.hoon create mode 120000 pkg/autopill/lib/azimuth.hoon create mode 120000 pkg/autopill/lib/azimuthio.hoon create mode 120000 pkg/autopill/lib/bip/b158.hoon create mode 120000 pkg/autopill/lib/bip/b173.hoon create mode 120000 pkg/autopill/lib/bip/b174.hoon create mode 120000 pkg/autopill/lib/bip32.hoon create mode 120000 pkg/autopill/lib/bip39.hoon create mode 120000 pkg/autopill/lib/bip39/english.hoon create mode 120000 pkg/autopill/lib/bitcoin-utils.hoon create mode 120000 pkg/autopill/lib/cram.hoon create mode 120000 pkg/autopill/lib/dbug.hoon create mode 120000 pkg/autopill/lib/default-agent.hoon create mode 120000 pkg/autopill/lib/der.hoon create mode 120000 pkg/autopill/lib/ethereum.hoon create mode 120000 pkg/autopill/lib/ethio.hoon create mode 120000 pkg/autopill/lib/jose.hoon create mode 120000 pkg/autopill/lib/keygen.hoon create mode 120000 pkg/autopill/lib/language-server/build.hoon create mode 120000 pkg/autopill/lib/language-server/complete.hoon create mode 120000 pkg/autopill/lib/language-server/easy-print.hoon create mode 120000 pkg/autopill/lib/language-server/json.hoon create mode 120000 pkg/autopill/lib/language-server/parser.hoon create mode 120000 pkg/autopill/lib/language-server/rune-snippet.hoon create mode 120000 pkg/autopill/lib/ph/io.hoon create mode 120000 pkg/autopill/lib/ph/util.hoon create mode 120000 pkg/autopill/lib/pill.hoon create mode 120000 pkg/autopill/lib/pkcs.hoon create mode 120000 pkg/autopill/lib/primitive-rsa.hoon create mode 120000 pkg/autopill/lib/ring.hoon create mode 120000 pkg/autopill/lib/server.hoon create mode 120000 pkg/autopill/lib/shoe.hoon create mode 120000 pkg/autopill/lib/skeleton.hoon create mode 120000 pkg/autopill/lib/sole.hoon create mode 120000 pkg/autopill/lib/strand.hoon create mode 120000 pkg/autopill/lib/strandio.hoon create mode 120000 pkg/autopill/lib/test.hoon create mode 120000 pkg/autopill/lib/verb.hoon create mode 120000 pkg/autopill/mar/belt.hoon create mode 120000 pkg/autopill/mar/bill.hoon create mode 120000 pkg/autopill/mar/blit.hoon create mode 120000 pkg/autopill/mar/hoon.hoon create mode 120000 pkg/autopill/mar/htm.hoon create mode 120000 pkg/autopill/mar/html.hoon create mode 120000 pkg/autopill/mar/httr.hoon create mode 120000 pkg/autopill/mar/hymn.hoon create mode 120000 pkg/autopill/mar/js.hoon create mode 120000 pkg/autopill/mar/json.hoon create mode 120000 pkg/autopill/mar/json/rpc/response.hoon create mode 120000 pkg/autopill/mar/kelvin.hoon create mode 120000 pkg/autopill/mar/language-server/rpc/notification.hoon create mode 120000 pkg/autopill/mar/language-server/rpc/request.hoon create mode 120000 pkg/autopill/mar/language-server/rpc/response.hoon create mode 120000 pkg/autopill/mar/mime.hoon create mode 120000 pkg/autopill/mar/noun.hoon create mode 120000 pkg/autopill/mar/path.hoon create mode 120000 pkg/autopill/mar/png.hoon create mode 120000 pkg/autopill/mar/purl.hoon create mode 120000 pkg/autopill/mar/ship.hoon create mode 120000 pkg/autopill/mar/sole/action.hoon create mode 120000 pkg/autopill/mar/sole/effect.hoon create mode 120000 pkg/autopill/mar/svg.hoon create mode 120000 pkg/autopill/mar/tang.hoon create mode 120000 pkg/autopill/mar/tape.hoon create mode 120000 pkg/autopill/mar/txt-diff.hoon create mode 120000 pkg/autopill/mar/txt.hoon create mode 120000 pkg/autopill/mar/udon.hoon create mode 120000 pkg/autopill/mar/umd.hoon create mode 120000 pkg/autopill/mar/urb.hoon create mode 120000 pkg/autopill/mar/urbit.hoon create mode 120000 pkg/autopill/mar/woff2.hoon create mode 120000 pkg/autopill/mar/xml.hoon create mode 120000 pkg/autopill/sur/aquarium.hoon create mode 120000 pkg/autopill/sur/asn1.hoon create mode 120000 pkg/autopill/sur/bitcoin.hoon create mode 120000 pkg/autopill/sur/hood.hoon create mode 120000 pkg/autopill/sur/json/rpc.hoon create mode 120000 pkg/autopill/sur/keygen.hoon create mode 120000 pkg/autopill/sur/language-server.hoon create mode 120000 pkg/autopill/sur/ring.hoon create mode 120000 pkg/autopill/sur/sole.hoon create mode 120000 pkg/autopill/sur/spider.hoon create mode 120000 pkg/autopill/sur/verb.hoon create mode 100644 pkg/autopill/sys.kelvin diff --git a/pkg/autopill/app/autopill.hoon b/pkg/autopill/app/autopill.hoon new file mode 100644 index 000000000..73cbbb677 --- /dev/null +++ b/pkg/autopill/app/autopill.hoon @@ -0,0 +1,210 @@ +:: autopill: make pills when desk contents change +:: +:: auto-build a new .urb/put/latest-solid.pill: +:: latest-solid +solid %kids %garden +:: +:: stop auto-building latest-solid: +:: -latest-solid +:: +:: see currently configured pill builds: +:: ? +:: +/+ libpill=pill, shoe, verb, dbug, default-agent +|% ++$ state-0 + $: %0 + make=(map @ta pill) :: pills to make + hear=(set desk) :: desks we are observing + sole=@ta :: the way out + == +:: ++$ pill + $% [%ivory base=desk] + [%solid base=desk etc=(set desk)] + [%brass base=desk etc=(set desk)] + == +:: ++$ command + $% [%put name=@ta =pill] :: configure pill build + [%del name=@ta] :: remove pill build + [%see ~] :: help & current config + == +:: ++$ card card:shoe +-- +=| state-0 +=* state - +:: +%+ verb | +%- agent:dbug +^- agent:gall +%- (agent:shoe command) +^- (shoe:shoe command) +|_ =bowl:gall ++* this . + def ~(. (default-agent this %|) bowl) + des ~(. (default:shoe this command) bowl) +:: +++ on-init + ^- (quip card _this) + [~ this] +:: +++ on-save !>(state) +++ on-load + |= old=vase + ^- (quip card _this) + [~ this(state !<(state-0 old))] +:: +++ command-parser + |= sole-id=@ta + ^+ |~(nail *(like [? command])) + %+ pick + (cold [%see ~] wut) + |^ ;~ pose + (stag %put ;~(plug sym ;~(pfix ace lus pil))) + ;~(plug (cold %del hep) sym) + == + :: + ++ pil + ;~ pose + ;~(plug (perk %ivory ~) ;~(pfix ace des)) + ;~(plug (perk %solid ~) ;~(pfix ace dez)) + ;~(plug (perk %brass ~) ;~(pfix ace dez)) + == + :: + ++ des + ;~(pfix cen sym) + :: + ++ dez + ;~ plug + des + ;~ pose + ;~(pfix ace (cook ~(gas in *(set desk)) (more ace des))) + (easy ~) + == + == + -- +:: +++ on-command + |= [sole-id=@ta =command] + ^- (quip card _this) + ?- -.command + %put + =* pill pill.command + =/ target-desks=(set desk) + ?- -.pill + %ivory [base.pill ~ ~] + ?(%solid %brass) (~(put in etc.pill) base.pill) + == + =/ new-desks=(set desk) + (~(dif in target-desks) hear) + :: + =. make (~(put by make) +.command) + =. hear (~(uni in hear) target-desks) + :_ this + %+ turn ~(tap in new-desks) + |= =desk + :+ %pass /desk/[desk] + [%arvo %c %warp our.bowl desk `[%next %z da+now.bowl /]] + :: + %del + ::NOTE deletion from hear, if necessary, handled in +on-arvo + [~ this(make (~(del by make) name.command))] + :: + %see + :_ this + ^- (list card) + =- [%shoe [sole-id]~ %sole %mor -]~ + ^- (list sole-effect:shoe) + :- [%txt "to add: pill-name +type %args"] + :- [%txt "to del: -pill-name"] + ?: =(~ make) + [%txt "no builds configured"]~ + :- [%txt "--"] + :- [%txt "builds:"] + %+ turn ~(tap by make) + |= [name=@ta =pill] + :- %txt + %- trip + %+ rap 3 + =- [name ' : +' -.pill ' %' -] + ?- -.pill + %ivory [base.pill ~] + ?(%solid %brass) [base.pill ' %' (join ' %' ~(tap in etc.pill))] + == + == +:: +++ on-arvo + |= [=wire sign=sign-arvo] + ^- (quip card _this) + ?> ?=([%desk @ ~] wire) + =* desk i.t.wire + ?. ?=(%writ +<.sign) + ~& [dap.bowl %unexpected-sign +<.sign] + [~ this] + :: + =/ pills=(list [name=@ta =pill]) + %+ skim ~(tap by make) + |= [@ta =pill] + ?- -.pill + %ivory =(desk base.pill) + ?(%solid %brass) |(=(desk base.pill) (~(has in etc.pill) desk)) + == + ?: =(~ pills) + [~ this(hear (~(del in hear) desk))] + :: + =| cards=(list card) + |- + ?~ pills + =- [[- cards] this] + :+ %pass /desk/[desk] + [%arvo %c %warp our.bowl desk `[%next %z da+now.bowl /]] + =; =card + $(pills t.pills, cards [card cards]) + :: + =* name name.i.pills + =* pill pill.i.pills + =- [%shoe [sole]~ %sole %mor -] + =; sag=sole-effect:shoe + [[%txt "built {(trip name)}.pill"] sag ~] + |^ =* base base.pill + :+ %sag /[name]/pill + ?- -.pill + %ivory (ivory:libpill (sys base)) + :: + ?(%solid %brass) + =/ dez=(list [^desk path]) + %+ turn ~(tap in etc.pill) + |=(d=^desk [d (bek d)]) + ?- -.pill + %solid (solid:libpill (sys base) dez | now.bowl) + %brass (brass:libpill (sys base) dez) + == + == + :: + ++ sys + |= d=^desk + (snoc (bek d) %sys) + :: + ++ bek + |= d=^desk + ^- path + /(scot %p our.bowl)/[d]/(scot %da now.bowl) + -- +:: +++ on-connect + |= sole-id=@ta + ^- (quip card _this) + [~ this(sole sole-id)] +:: +++ can-connect |=(* =(src our):bowl) +++ on-disconnect on-disconnect:des +++ tab-list tab-list:des +:: +++ on-poke on-poke:def +++ on-watch on-watch:def +++ on-leave on-leave:def +++ on-peek on-peek:def +++ on-agent on-agent:def +++ on-fail on-fail:def +-- \ No newline at end of file diff --git a/pkg/autopill/desk.bill b/pkg/autopill/desk.bill new file mode 100644 index 000000000..8be9c3fd6 --- /dev/null +++ b/pkg/autopill/desk.bill @@ -0,0 +1,3 @@ +:~ %autopill +== + diff --git a/pkg/autopill/lib/agentio.hoon b/pkg/autopill/lib/agentio.hoon new file mode 120000 index 000000000..959a49843 --- /dev/null +++ b/pkg/autopill/lib/agentio.hoon @@ -0,0 +1 @@ +../../base-dev/lib/agentio.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/azimuth.hoon b/pkg/autopill/lib/azimuth.hoon new file mode 120000 index 000000000..2bacb02b7 --- /dev/null +++ b/pkg/autopill/lib/azimuth.hoon @@ -0,0 +1 @@ +../../base-dev/lib/azimuth.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/azimuthio.hoon b/pkg/autopill/lib/azimuthio.hoon new file mode 120000 index 000000000..0b5df7063 --- /dev/null +++ b/pkg/autopill/lib/azimuthio.hoon @@ -0,0 +1 @@ +../../base-dev/lib/azimuthio.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/bip/b158.hoon b/pkg/autopill/lib/bip/b158.hoon new file mode 120000 index 000000000..cba919a85 --- /dev/null +++ b/pkg/autopill/lib/bip/b158.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/bip/b158.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/bip/b173.hoon b/pkg/autopill/lib/bip/b173.hoon new file mode 120000 index 000000000..2999150e2 --- /dev/null +++ b/pkg/autopill/lib/bip/b173.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/bip/b173.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/bip/b174.hoon b/pkg/autopill/lib/bip/b174.hoon new file mode 120000 index 000000000..bc6cae53b --- /dev/null +++ b/pkg/autopill/lib/bip/b174.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/bip/b174.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/bip32.hoon b/pkg/autopill/lib/bip32.hoon new file mode 120000 index 000000000..1cbb7f892 --- /dev/null +++ b/pkg/autopill/lib/bip32.hoon @@ -0,0 +1 @@ +../../base-dev/lib/bip32.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/bip39.hoon b/pkg/autopill/lib/bip39.hoon new file mode 120000 index 000000000..36c4b7e83 --- /dev/null +++ b/pkg/autopill/lib/bip39.hoon @@ -0,0 +1 @@ +../../base-dev/lib/bip39.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/bip39/english.hoon b/pkg/autopill/lib/bip39/english.hoon new file mode 120000 index 000000000..f1ea0fe31 --- /dev/null +++ b/pkg/autopill/lib/bip39/english.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/bip39/english.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/bitcoin-utils.hoon b/pkg/autopill/lib/bitcoin-utils.hoon new file mode 120000 index 000000000..7cc792906 --- /dev/null +++ b/pkg/autopill/lib/bitcoin-utils.hoon @@ -0,0 +1 @@ +../../base-dev/lib/bitcoin-utils.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/cram.hoon b/pkg/autopill/lib/cram.hoon new file mode 120000 index 000000000..4005e57ee --- /dev/null +++ b/pkg/autopill/lib/cram.hoon @@ -0,0 +1 @@ +../../base-dev/lib/cram.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/dbug.hoon b/pkg/autopill/lib/dbug.hoon new file mode 120000 index 000000000..04f6855f7 --- /dev/null +++ b/pkg/autopill/lib/dbug.hoon @@ -0,0 +1 @@ +../../base-dev/lib/dbug.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/default-agent.hoon b/pkg/autopill/lib/default-agent.hoon new file mode 120000 index 000000000..698f6802d --- /dev/null +++ b/pkg/autopill/lib/default-agent.hoon @@ -0,0 +1 @@ +../../base-dev/lib/default-agent.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/der.hoon b/pkg/autopill/lib/der.hoon new file mode 120000 index 000000000..8446f8e92 --- /dev/null +++ b/pkg/autopill/lib/der.hoon @@ -0,0 +1 @@ +../../base-dev/lib/der.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/ethereum.hoon b/pkg/autopill/lib/ethereum.hoon new file mode 120000 index 000000000..c0a2772eb --- /dev/null +++ b/pkg/autopill/lib/ethereum.hoon @@ -0,0 +1 @@ +../../base-dev/lib/ethereum.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/ethio.hoon b/pkg/autopill/lib/ethio.hoon new file mode 120000 index 000000000..9c5b58148 --- /dev/null +++ b/pkg/autopill/lib/ethio.hoon @@ -0,0 +1 @@ +../../base-dev/lib/ethio.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/jose.hoon b/pkg/autopill/lib/jose.hoon new file mode 120000 index 000000000..6bff549ab --- /dev/null +++ b/pkg/autopill/lib/jose.hoon @@ -0,0 +1 @@ +../../base-dev/lib/jose.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/keygen.hoon b/pkg/autopill/lib/keygen.hoon new file mode 120000 index 000000000..8557d0c52 --- /dev/null +++ b/pkg/autopill/lib/keygen.hoon @@ -0,0 +1 @@ +../../base-dev/lib/keygen.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/language-server/build.hoon b/pkg/autopill/lib/language-server/build.hoon new file mode 120000 index 000000000..749928056 --- /dev/null +++ b/pkg/autopill/lib/language-server/build.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/language-server/build.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/language-server/complete.hoon b/pkg/autopill/lib/language-server/complete.hoon new file mode 120000 index 000000000..219d824c7 --- /dev/null +++ b/pkg/autopill/lib/language-server/complete.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/language-server/complete.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/language-server/easy-print.hoon b/pkg/autopill/lib/language-server/easy-print.hoon new file mode 120000 index 000000000..2160e2f5a --- /dev/null +++ b/pkg/autopill/lib/language-server/easy-print.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/language-server/easy-print.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/language-server/json.hoon b/pkg/autopill/lib/language-server/json.hoon new file mode 120000 index 000000000..96fe5b516 --- /dev/null +++ b/pkg/autopill/lib/language-server/json.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/language-server/json.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/language-server/parser.hoon b/pkg/autopill/lib/language-server/parser.hoon new file mode 120000 index 000000000..327e1a5de --- /dev/null +++ b/pkg/autopill/lib/language-server/parser.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/language-server/parser.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/language-server/rune-snippet.hoon b/pkg/autopill/lib/language-server/rune-snippet.hoon new file mode 120000 index 000000000..387505b59 --- /dev/null +++ b/pkg/autopill/lib/language-server/rune-snippet.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/language-server/rune-snippet.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/ph/io.hoon b/pkg/autopill/lib/ph/io.hoon new file mode 120000 index 000000000..9b660df8f --- /dev/null +++ b/pkg/autopill/lib/ph/io.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/ph/io.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/ph/util.hoon b/pkg/autopill/lib/ph/util.hoon new file mode 120000 index 000000000..ec423efc0 --- /dev/null +++ b/pkg/autopill/lib/ph/util.hoon @@ -0,0 +1 @@ +../../../base-dev/lib/ph/util.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/pill.hoon b/pkg/autopill/lib/pill.hoon new file mode 120000 index 000000000..41e912cf1 --- /dev/null +++ b/pkg/autopill/lib/pill.hoon @@ -0,0 +1 @@ +../../base-dev/lib/pill.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/pkcs.hoon b/pkg/autopill/lib/pkcs.hoon new file mode 120000 index 000000000..d7a2ab46f --- /dev/null +++ b/pkg/autopill/lib/pkcs.hoon @@ -0,0 +1 @@ +../../base-dev/lib/pkcs.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/primitive-rsa.hoon b/pkg/autopill/lib/primitive-rsa.hoon new file mode 120000 index 000000000..f9dde2d95 --- /dev/null +++ b/pkg/autopill/lib/primitive-rsa.hoon @@ -0,0 +1 @@ +../../base-dev/lib/primitive-rsa.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/ring.hoon b/pkg/autopill/lib/ring.hoon new file mode 120000 index 000000000..e5e819947 --- /dev/null +++ b/pkg/autopill/lib/ring.hoon @@ -0,0 +1 @@ +../../base-dev/lib/ring.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/server.hoon b/pkg/autopill/lib/server.hoon new file mode 120000 index 000000000..6176cfc00 --- /dev/null +++ b/pkg/autopill/lib/server.hoon @@ -0,0 +1 @@ +../../base-dev/lib/server.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/shoe.hoon b/pkg/autopill/lib/shoe.hoon new file mode 120000 index 000000000..a4aab1dd7 --- /dev/null +++ b/pkg/autopill/lib/shoe.hoon @@ -0,0 +1 @@ +../../base-dev/lib/shoe.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/skeleton.hoon b/pkg/autopill/lib/skeleton.hoon new file mode 120000 index 000000000..77626a327 --- /dev/null +++ b/pkg/autopill/lib/skeleton.hoon @@ -0,0 +1 @@ +../../base-dev/lib/skeleton.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/sole.hoon b/pkg/autopill/lib/sole.hoon new file mode 120000 index 000000000..f776890f2 --- /dev/null +++ b/pkg/autopill/lib/sole.hoon @@ -0,0 +1 @@ +../../base-dev/lib/sole.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/strand.hoon b/pkg/autopill/lib/strand.hoon new file mode 120000 index 000000000..d95df7948 --- /dev/null +++ b/pkg/autopill/lib/strand.hoon @@ -0,0 +1 @@ +../../base-dev/lib/strand.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/strandio.hoon b/pkg/autopill/lib/strandio.hoon new file mode 120000 index 000000000..0caebfac1 --- /dev/null +++ b/pkg/autopill/lib/strandio.hoon @@ -0,0 +1 @@ +../../base-dev/lib/strandio.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/test.hoon b/pkg/autopill/lib/test.hoon new file mode 120000 index 000000000..cc50ce7cf --- /dev/null +++ b/pkg/autopill/lib/test.hoon @@ -0,0 +1 @@ +../../base-dev/lib/test.hoon \ No newline at end of file diff --git a/pkg/autopill/lib/verb.hoon b/pkg/autopill/lib/verb.hoon new file mode 120000 index 000000000..939072347 --- /dev/null +++ b/pkg/autopill/lib/verb.hoon @@ -0,0 +1 @@ +../../base-dev/lib/verb.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/belt.hoon b/pkg/autopill/mar/belt.hoon new file mode 120000 index 000000000..0c8999932 --- /dev/null +++ b/pkg/autopill/mar/belt.hoon @@ -0,0 +1 @@ +../../base-dev/mar/belt.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/bill.hoon b/pkg/autopill/mar/bill.hoon new file mode 120000 index 000000000..801d99730 --- /dev/null +++ b/pkg/autopill/mar/bill.hoon @@ -0,0 +1 @@ +../../base-dev/mar/bill.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/blit.hoon b/pkg/autopill/mar/blit.hoon new file mode 120000 index 000000000..3ea8dc943 --- /dev/null +++ b/pkg/autopill/mar/blit.hoon @@ -0,0 +1 @@ +../../base-dev/mar/blit.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/hoon.hoon b/pkg/autopill/mar/hoon.hoon new file mode 120000 index 000000000..95f8f67f9 --- /dev/null +++ b/pkg/autopill/mar/hoon.hoon @@ -0,0 +1 @@ +../../base-dev/mar/hoon.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/htm.hoon b/pkg/autopill/mar/htm.hoon new file mode 120000 index 000000000..d29e24bac --- /dev/null +++ b/pkg/autopill/mar/htm.hoon @@ -0,0 +1 @@ +../../base-dev/mar/htm.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/html.hoon b/pkg/autopill/mar/html.hoon new file mode 120000 index 000000000..14a5f8f7b --- /dev/null +++ b/pkg/autopill/mar/html.hoon @@ -0,0 +1 @@ +../../base-dev/mar/html.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/httr.hoon b/pkg/autopill/mar/httr.hoon new file mode 120000 index 000000000..572665778 --- /dev/null +++ b/pkg/autopill/mar/httr.hoon @@ -0,0 +1 @@ +../../base-dev/mar/httr.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/hymn.hoon b/pkg/autopill/mar/hymn.hoon new file mode 120000 index 000000000..905156749 --- /dev/null +++ b/pkg/autopill/mar/hymn.hoon @@ -0,0 +1 @@ +../../base-dev/mar/hymn.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/js.hoon b/pkg/autopill/mar/js.hoon new file mode 120000 index 000000000..00189f4c6 --- /dev/null +++ b/pkg/autopill/mar/js.hoon @@ -0,0 +1 @@ +../../base-dev/mar/js.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/json.hoon b/pkg/autopill/mar/json.hoon new file mode 120000 index 000000000..e77f85d05 --- /dev/null +++ b/pkg/autopill/mar/json.hoon @@ -0,0 +1 @@ +../../base-dev/mar/json.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/json/rpc/response.hoon b/pkg/autopill/mar/json/rpc/response.hoon new file mode 120000 index 000000000..52c97c864 --- /dev/null +++ b/pkg/autopill/mar/json/rpc/response.hoon @@ -0,0 +1 @@ +../../../../base-dev/mar/json/rpc/response.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/kelvin.hoon b/pkg/autopill/mar/kelvin.hoon new file mode 120000 index 000000000..195ebe0dc --- /dev/null +++ b/pkg/autopill/mar/kelvin.hoon @@ -0,0 +1 @@ +../../base-dev/mar/kelvin.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/language-server/rpc/notification.hoon b/pkg/autopill/mar/language-server/rpc/notification.hoon new file mode 120000 index 000000000..b95e54c35 --- /dev/null +++ b/pkg/autopill/mar/language-server/rpc/notification.hoon @@ -0,0 +1 @@ +../../../../base-dev/mar/language-server/rpc/notification.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/language-server/rpc/request.hoon b/pkg/autopill/mar/language-server/rpc/request.hoon new file mode 120000 index 000000000..26203cf5b --- /dev/null +++ b/pkg/autopill/mar/language-server/rpc/request.hoon @@ -0,0 +1 @@ +../../../../base-dev/mar/language-server/rpc/request.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/language-server/rpc/response.hoon b/pkg/autopill/mar/language-server/rpc/response.hoon new file mode 120000 index 000000000..9dddb2cef --- /dev/null +++ b/pkg/autopill/mar/language-server/rpc/response.hoon @@ -0,0 +1 @@ +../../../../base-dev/mar/language-server/rpc/response.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/mime.hoon b/pkg/autopill/mar/mime.hoon new file mode 120000 index 000000000..0d85898f3 --- /dev/null +++ b/pkg/autopill/mar/mime.hoon @@ -0,0 +1 @@ +../../base-dev/mar/mime.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/noun.hoon b/pkg/autopill/mar/noun.hoon new file mode 120000 index 000000000..97cc30876 --- /dev/null +++ b/pkg/autopill/mar/noun.hoon @@ -0,0 +1 @@ +../../base-dev/mar/noun.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/path.hoon b/pkg/autopill/mar/path.hoon new file mode 120000 index 000000000..c07b00064 --- /dev/null +++ b/pkg/autopill/mar/path.hoon @@ -0,0 +1 @@ +../../base-dev/mar/path.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/png.hoon b/pkg/autopill/mar/png.hoon new file mode 120000 index 000000000..c2d8cf9fa --- /dev/null +++ b/pkg/autopill/mar/png.hoon @@ -0,0 +1 @@ +../../base-dev/mar/png.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/purl.hoon b/pkg/autopill/mar/purl.hoon new file mode 120000 index 000000000..d0d2cc0de --- /dev/null +++ b/pkg/autopill/mar/purl.hoon @@ -0,0 +1 @@ +../../base-dev/mar/purl.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/ship.hoon b/pkg/autopill/mar/ship.hoon new file mode 120000 index 000000000..72de2c03c --- /dev/null +++ b/pkg/autopill/mar/ship.hoon @@ -0,0 +1 @@ +../../base-dev/mar/ship.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/sole/action.hoon b/pkg/autopill/mar/sole/action.hoon new file mode 120000 index 000000000..b349bd771 --- /dev/null +++ b/pkg/autopill/mar/sole/action.hoon @@ -0,0 +1 @@ +../../../base-dev/mar/sole/action.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/sole/effect.hoon b/pkg/autopill/mar/sole/effect.hoon new file mode 120000 index 000000000..bc11205c0 --- /dev/null +++ b/pkg/autopill/mar/sole/effect.hoon @@ -0,0 +1 @@ +../../../base-dev/mar/sole/effect.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/svg.hoon b/pkg/autopill/mar/svg.hoon new file mode 120000 index 000000000..2b406c2ac --- /dev/null +++ b/pkg/autopill/mar/svg.hoon @@ -0,0 +1 @@ +../../base-dev/mar/svg.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/tang.hoon b/pkg/autopill/mar/tang.hoon new file mode 120000 index 000000000..9206e52b2 --- /dev/null +++ b/pkg/autopill/mar/tang.hoon @@ -0,0 +1 @@ +../../base-dev/mar/tang.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/tape.hoon b/pkg/autopill/mar/tape.hoon new file mode 120000 index 000000000..be51fcb2d --- /dev/null +++ b/pkg/autopill/mar/tape.hoon @@ -0,0 +1 @@ +../../base-dev/mar/tape.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/txt-diff.hoon b/pkg/autopill/mar/txt-diff.hoon new file mode 120000 index 000000000..1f7c04285 --- /dev/null +++ b/pkg/autopill/mar/txt-diff.hoon @@ -0,0 +1 @@ +../../base-dev/mar/txt-diff.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/txt.hoon b/pkg/autopill/mar/txt.hoon new file mode 120000 index 000000000..432541575 --- /dev/null +++ b/pkg/autopill/mar/txt.hoon @@ -0,0 +1 @@ +../../base-dev/mar/txt.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/udon.hoon b/pkg/autopill/mar/udon.hoon new file mode 120000 index 000000000..215e0ada9 --- /dev/null +++ b/pkg/autopill/mar/udon.hoon @@ -0,0 +1 @@ +../../base-dev/mar/udon.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/umd.hoon b/pkg/autopill/mar/umd.hoon new file mode 120000 index 000000000..9b827a24d --- /dev/null +++ b/pkg/autopill/mar/umd.hoon @@ -0,0 +1 @@ +../../base-dev/mar/umd.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/urb.hoon b/pkg/autopill/mar/urb.hoon new file mode 120000 index 000000000..2d8112d1d --- /dev/null +++ b/pkg/autopill/mar/urb.hoon @@ -0,0 +1 @@ +../../base-dev/mar/urb.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/urbit.hoon b/pkg/autopill/mar/urbit.hoon new file mode 120000 index 000000000..70a62a723 --- /dev/null +++ b/pkg/autopill/mar/urbit.hoon @@ -0,0 +1 @@ +../../base-dev/mar/urbit.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/woff2.hoon b/pkg/autopill/mar/woff2.hoon new file mode 120000 index 000000000..beaf4875c --- /dev/null +++ b/pkg/autopill/mar/woff2.hoon @@ -0,0 +1 @@ +../../base-dev/mar/woff2.hoon \ No newline at end of file diff --git a/pkg/autopill/mar/xml.hoon b/pkg/autopill/mar/xml.hoon new file mode 120000 index 000000000..e6323e215 --- /dev/null +++ b/pkg/autopill/mar/xml.hoon @@ -0,0 +1 @@ +../../base-dev/mar/xml.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/aquarium.hoon b/pkg/autopill/sur/aquarium.hoon new file mode 120000 index 000000000..1195b2c62 --- /dev/null +++ b/pkg/autopill/sur/aquarium.hoon @@ -0,0 +1 @@ +../../base-dev/sur/aquarium.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/asn1.hoon b/pkg/autopill/sur/asn1.hoon new file mode 120000 index 000000000..7888cada0 --- /dev/null +++ b/pkg/autopill/sur/asn1.hoon @@ -0,0 +1 @@ +../../base-dev/sur/asn1.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/bitcoin.hoon b/pkg/autopill/sur/bitcoin.hoon new file mode 120000 index 000000000..d72c2c830 --- /dev/null +++ b/pkg/autopill/sur/bitcoin.hoon @@ -0,0 +1 @@ +../../base-dev/sur/bitcoin.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/hood.hoon b/pkg/autopill/sur/hood.hoon new file mode 120000 index 000000000..b212f501e --- /dev/null +++ b/pkg/autopill/sur/hood.hoon @@ -0,0 +1 @@ +../../base-dev/sur/hood.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/json/rpc.hoon b/pkg/autopill/sur/json/rpc.hoon new file mode 120000 index 000000000..e499542f6 --- /dev/null +++ b/pkg/autopill/sur/json/rpc.hoon @@ -0,0 +1 @@ +../../../base-dev/sur/json/rpc.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/keygen.hoon b/pkg/autopill/sur/keygen.hoon new file mode 120000 index 000000000..99bcd5fc8 --- /dev/null +++ b/pkg/autopill/sur/keygen.hoon @@ -0,0 +1 @@ +../../base-dev/sur/keygen.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/language-server.hoon b/pkg/autopill/sur/language-server.hoon new file mode 120000 index 000000000..a1c726780 --- /dev/null +++ b/pkg/autopill/sur/language-server.hoon @@ -0,0 +1 @@ +../../base-dev/sur/language-server.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/ring.hoon b/pkg/autopill/sur/ring.hoon new file mode 120000 index 000000000..633c96332 --- /dev/null +++ b/pkg/autopill/sur/ring.hoon @@ -0,0 +1 @@ +../../base-dev/sur/ring.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/sole.hoon b/pkg/autopill/sur/sole.hoon new file mode 120000 index 000000000..8cac11891 --- /dev/null +++ b/pkg/autopill/sur/sole.hoon @@ -0,0 +1 @@ +../../base-dev/sur/sole.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/spider.hoon b/pkg/autopill/sur/spider.hoon new file mode 120000 index 000000000..12ae2c187 --- /dev/null +++ b/pkg/autopill/sur/spider.hoon @@ -0,0 +1 @@ +../../base-dev/sur/spider.hoon \ No newline at end of file diff --git a/pkg/autopill/sur/verb.hoon b/pkg/autopill/sur/verb.hoon new file mode 120000 index 000000000..1a6100d9c --- /dev/null +++ b/pkg/autopill/sur/verb.hoon @@ -0,0 +1 @@ +../../base-dev/sur/verb.hoon \ No newline at end of file diff --git a/pkg/autopill/sys.kelvin b/pkg/autopill/sys.kelvin new file mode 100644 index 000000000..b7464903a --- /dev/null +++ b/pkg/autopill/sys.kelvin @@ -0,0 +1 @@ +[%zuse 420] From 2dae678ec28942e143ce67ab3267639330b33482 Mon Sep 17 00:00:00 2001 From: fang Date: Fri, 29 Oct 2021 01:18:38 +0200 Subject: [PATCH 08/44] autopill: export to pills directory, not put root --- pkg/autopill/app/autopill.hoon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/autopill/app/autopill.hoon b/pkg/autopill/app/autopill.hoon index 73cbbb677..a0c50f749 100644 --- a/pkg/autopill/app/autopill.hoon +++ b/pkg/autopill/app/autopill.hoon @@ -168,7 +168,7 @@ =; sag=sole-effect:shoe [[%txt "built {(trip name)}.pill"] sag ~] |^ =* base base.pill - :+ %sag /[name]/pill + :+ %sag /pills/[name]/pill ?- -.pill %ivory (ivory:libpill (sys base)) :: From 93f4d395b86b16c532d7ace8a8f5001e4bbf93d3 Mon Sep 17 00:00:00 2001 From: fang Date: Fri, 29 Oct 2021 01:22:28 +0200 Subject: [PATCH 09/44] various: trailing newlines --- pkg/arvo/gen/brass.hoon | 2 +- pkg/autopill/app/autopill.hoon | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/arvo/gen/brass.hoon b/pkg/arvo/gen/brass.hoon index 5dc27030d..c6b8dd228 100644 --- a/pkg/arvo/gen/brass.hoon +++ b/pkg/arvo/gen/brass.hoon @@ -45,4 +45,4 @@ |= =desk [desk /(scot %p p.bec)/[desk]/(scot %da now)] :: -(brass:pill sys dez) \ No newline at end of file +(brass:pill sys dez) diff --git a/pkg/autopill/app/autopill.hoon b/pkg/autopill/app/autopill.hoon index a0c50f749..6142d840d 100644 --- a/pkg/autopill/app/autopill.hoon +++ b/pkg/autopill/app/autopill.hoon @@ -207,4 +207,4 @@ ++ on-peek on-peek:def ++ on-agent on-agent:def ++ on-fail on-fail:def --- \ No newline at end of file +-- From b3b5400cec3b61b5a9ff5d69935c234017cd9c09 Mon Sep 17 00:00:00 2001 From: fang Date: Tue, 23 Nov 2021 13:23:51 +0100 Subject: [PATCH 10/44] boot: partial prop support Doesn't yet support pre-userspace props, and the code might need to be shuffled around a bit, but what's here works already. --- pkg/arvo/sys/lull.hoon | 1 + pkg/arvo/sys/vane/dill.hoon | 5 +++++ pkg/base-dev/lib/pill.hoon | 17 +++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 9bca8c59b..782956c0f 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -1177,6 +1177,7 @@ $>(%init vane-task) :: after gall ready [%meld ~] :: unify memory [%pack ~] :: compact memory + [%seat =desk] :: install desk [%shot ses=@tas task=session-task] :: task for session [%talk p=(list tank)] :: print tanks [%text p=tape] :: print tape diff --git a/pkg/arvo/sys/vane/dill.hoon b/pkg/arvo/sys/vane/dill.hoon index f58a73bd0..3618e1008 100644 --- a/pkg/arvo/sys/vane/dill.hoon +++ b/pkg/arvo/sys/vane/dill.hoon @@ -107,6 +107,11 @@ %pack (dump kyz) %crop (dump trim+p.kyz) %verb (pass /verb %$ kyz) + :: + %seat + %^ pass /seat %g + :+ %deal [our our] + [%hood %poke %kiln-install !>([desk.kyz our desk.kyz])] == :: ++ crud diff --git a/pkg/base-dev/lib/pill.hoon b/pkg/base-dev/lib/pill.hoon index a4bb4fd34..f80a7c849 100644 --- a/pkg/base-dev/lib/pill.hoon +++ b/pkg/base-dev/lib/pill.hoon @@ -322,4 +322,21 @@ =/ pro q:$:tap [[%cell p.gun p:$:tap] [.*(pro q.gun) pro]] -- +:: +++ events + |% + +$ prop [%prop meta tier (list ovum)] + +$ meta term + +$ tier ?(%pre-userspace %post-userspace) + :: + ++ install + |= [as=desk =beak] + ^- prop + :^ %prop %install %post-userspace + ::TODO will exclude non-:directories files, such as /changelog/txt + :~ (file-ovum as (en-beam beak /)) + :: + [/d/install/[as] [%seat as]] + == + -- -- From 3fa5856f94c0533bb5d8b1be8a2b6d1fe1e05a53 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 9 Dec 2021 01:02:06 +0100 Subject: [PATCH 11/44] clay: add %prep task for priming the blob store --- pkg/arvo/sys/lull.hoon | 1 + pkg/arvo/sys/vane/clay.hoon | 3 +++ 2 files changed, 4 insertions(+) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 782956c0f..23b712d7b 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -786,6 +786,7 @@ [%park des=desk yok=yoki ran=rang] :: synchronous commit [%perm des=desk pax=path rit=rite] :: change permissions [%pork ~] :: resume commit + [%prep lat=(map lobe blob)] :: prime blob store [%rein des=desk ren=rein] :: extra apps [%stir arg=*] :: debug [%tire p=(unit ~)] :: app state subscribe diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index f9a6f5954..c1223a49c 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4913,6 +4913,9 @@ =/ den ((de now rof hen ruf) our syd) abet:(park:den & & yoki *rang) [mos ..^$] + :: + %prep + [~ ..^$(lat.ran.ruf (~(uni by lat.req) lat.ran.ruf))] :: %perm =^ mos ruf From f2d3a64d9c31de4f81189bdc20d53f44ccb66361 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 01:35:52 +0100 Subject: [PATCH 12/44] clay: add /cs/===/bloc scry for all desk blobs Lets you retrieve all blobs from the blob store that are in use by the desk, both presently and in all its history. --- pkg/arvo/sys/vane/clay.hoon | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index c1223a49c..d753900e2 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4210,6 +4210,18 @@ ++ read-s |= [yon=aeon pax=path] ^- (unit (unit cage)) + ?: ?=([%bloc ~] pax) + :^ ~ ~ %noun + :- -:!>(*(map lobe blob)) + ^- (map lobe blob) + %- %~ rep in + %- reachable-takos + (~(got by hit.dom) let.dom) + |= [t=tako o=(map lobe blob)] + %- ~(gas by o) + %+ turn + ~(val by q:(~(got by hut.ran) t)) + |=(l=lobe [l (~(got by lat.ran) l)]) ?. ?=([@ * *] pax) `~ ?+ i.pax `~ From 382d0d5522b3a941f388421dab3967172d5adf32 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 15:32:12 +0100 Subject: [PATCH 13/44] pill: include %prep task in desk install props Primes the blob store, making initial sync faster. --- pkg/base-dev/lib/pill.hoon | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/base-dev/lib/pill.hoon b/pkg/base-dev/lib/pill.hoon index f80a7c849..3bb10fdc0 100644 --- a/pkg/base-dev/lib/pill.hoon +++ b/pkg/base-dev/lib/pill.hoon @@ -64,7 +64,11 @@ %- ~(gas by *(map path (each page lobe:clay))) (turn hav |=([=path =page] [path &+page])) [/c/sync [%park des &+yuki *rang:clay]] - =| hav=(list [path page]) + (file-pages bas sal) +:: +++ file-pages + |= [bas=path sal=(list spur)] + =| hav=(list [path page:clay]) |- ^+ hav ?~ sal ~ =. hav $(sal t.sal) @@ -136,6 +140,7 @@ ?~ all hav $(all t.all, hav ^$(tyl [p.i.all tyl])) :: +::TODO include %prep task in solid and brass? ++ solid :: sys: root path to boot system, `/~me/[desk]/now/sys` :: dez: secondary desks and their root paths @@ -330,12 +335,12 @@ +$ tier ?(%pre-userspace %post-userspace) :: ++ install - |= [as=desk =beak] + |= [as=desk =beak pri=(map lobe:clay blob:clay)] ^- prop :^ %prop %install %post-userspace ::TODO will exclude non-:directories files, such as /changelog/txt :~ (file-ovum as (en-beam beak /)) - :: + [/c/inflate/[as] [%prep pri]] [/d/install/[as] [%seat as]] == -- From 817cfc89245589c1cc11590192c9de71a93afbd8 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 15:33:36 +0100 Subject: [PATCH 14/44] autopill: update for props, delayed write Can now generate prop.jam files in additional to pills. Now waits for five days of no changes before building the pill or prop. --- pkg/autopill/app/autopill.hoon | 221 +++++++++++++++++++++++---------- pkg/autopill/sys.kelvin | 2 +- 2 files changed, 157 insertions(+), 66 deletions(-) diff --git a/pkg/autopill/app/autopill.hoon b/pkg/autopill/app/autopill.hoon index 6142d840d..b7a19c34c 100644 --- a/pkg/autopill/app/autopill.hoon +++ b/pkg/autopill/app/autopill.hoon @@ -1,4 +1,4 @@ -:: autopill: make pills when desk contents change +:: autoprop: make pills & props when desk contents change :: :: auto-build a new .urb/put/latest-solid.pill: :: latest-solid +solid %kids %garden @@ -6,16 +6,27 @@ :: stop auto-building latest-solid: :: -latest-solid :: -:: see currently configured pill builds: +:: auto-build a new .urb/put/somedesk.jam: +:: some-desk +desk %somedesk +:: +:: see currently configured build tasks: :: ? :: /+ libpill=pill, shoe, verb, dbug, default-agent +:: +=, clay +:: |% +$ state-0 $: %0 - make=(map @ta pill) :: pills to make - hear=(set desk) :: desks we are observing - sole=@ta :: the way out + make=(map @ta [next=@da =task]) :: things to make + hear=(map desk (map lobe blob)) :: desks we are observing + sole=@ta :: the way out + == +:: ++$ task + $% pill + prop == :: +$ pill @@ -24,13 +35,20 @@ [%brass base=desk etc=(set desk)] == :: ++$ prop + $% [%desk =desk] + == +:: +$ command - $% [%put name=@ta =pill] :: configure pill build + $% [%put name=@ta =task] :: configure pill build [%del name=@ta] :: remove pill build [%see ~] :: help & current config + [%run name=@ta] :: force build == :: +$ card card:shoe +:: +++ delay ~d5 -- =| state-0 =* state - @@ -61,8 +79,9 @@ %+ pick (cold [%see ~] wut) |^ ;~ pose - (stag %put ;~(plug sym ;~(pfix ace lus pil))) + (stag %put ;~(plug sym ;~(pfix ace lus ;~(pose pil pro)))) ;~(plug (cold %del hep) sym) + ;~(plug (cold %run zap) sym) == :: ++ pil @@ -72,6 +91,9 @@ ;~(plug (perk %brass ~) ;~(pfix ace dez)) == :: + ++ pro + ;~(plug (perk %desk ~) ;~(pfix ace des)) + :: ++ des ;~(pfix cen sym) :: @@ -90,19 +112,30 @@ ^- (quip card _this) ?- -.command %put - =* pill pill.command + =* task task.command =/ target-desks=(set desk) - ?- -.pill - %ivory [base.pill ~ ~] - ?(%solid %brass) (~(put in etc.pill) base.pill) + ?- -.task + %ivory [base.task ~ ~] + ?(%solid %brass) (~(put in etc.task) base.task) + %desk [desk.task ~ ~] == - =/ new-desks=(set desk) - (~(dif in target-desks) hear) + =/ new-desks=(list desk) + ~(tap in (~(dif in target-desks) ~(key by hear))) :: - =. make (~(put by make) +.command) - =. hear (~(uni in hear) target-desks) + =. make + %+ ~(put by make) + name.command + [now.bowl task.command] + =. hear + :: load existing blobs for desks + :: + %- ~(gas by hear) + %+ turn new-desks + |= d=desk + :- d + .^((map lobe blob) %cs /(scot %p our.bowl)/[d]/(scot %da now.bowl)/bloc) :_ this - %+ turn ~(tap in new-desks) + %+ turn new-desks |= =desk :+ %pass /desk/[desk] [%arvo %c %warp our.bowl desk `[%next %z da+now.bowl /]] @@ -123,78 +156,136 @@ :- [%txt "--"] :- [%txt "builds:"] %+ turn ~(tap by make) - |= [name=@ta =pill] + |= [name=@ta next=@da =task] :- %txt %- trip %+ rap 3 - =- [name ' : +' -.pill ' %' -] - ?- -.pill - %ivory [base.pill ~] - ?(%solid %brass) [base.pill ' %' (join ' %' ~(tap in etc.pill))] + =- [name ' (' (scot %da next) ') : +' -.task ' %' -] + ?- -.task + %ivory [base.task ~] + ?(%solid %brass) [base.task ' %' (join ' %' ~(tap in etc.task))] + %desk [desk.task ~] == + :: + %run + =* name name.command + =+ (~(got by make) name) + :_ this + ::TODO just poke hood instead? + =; sag=sole-effect:shoe + [%shoe [sole]~ %sole %mor [[%txt "built {(trip name)}"] sag ~]]~ + |^ =* base base.task + :+ %sag + ?- -.task + ?(%solid %brass %ivory) /tasks/[name]/pill + %desk /tasks/[name]/jam + == + ?- -.task + %ivory (ivory:libpill (sys base)) + :: + ?(%solid %brass) + =/ dez=(list [desk path]) + %+ turn ~(tap in etc.task) + |=(d=desk [d (bek d)]) + ?- -.task + %solid (solid:libpill (sys base) dez | now.bowl) + %brass (brass:libpill (sys base) dez) + == + :: + %desk + =* desk desk.task + ~? !(~(has by hear) desk) [%no-blob-cache desk=desk] + ~& [%prime ~(wyt by (~(gut by hear) desk ~))] + ::TODO shouldn't /lib/pill just scry for the blobs on-demand? + (install:events:libpill desk (byk desk) (~(gut by hear) desk ~)) + == + :: + ++ sys + |= d=desk + `path`(snoc (bek d) %sys) + :: + ++ byk + |= d=desk + `beak`[our.bowl d da+now.bowl] + :: + ++ bek + |= d=desk + `path`(en-beam (byk d) /) + -- == :: ++ on-arvo |= [=wire sign=sign-arvo] ^- (quip card _this) + ?: ?=([%build ~] wire) + ?> ?=(%wake +<.sign) + ::TODO should nullify next for affected tasks to avoid re-run + ?^ error.sign + ((slog 'on-wake build failed' u.error.sign) ~ this) + =/ tasks=(list @ta) + %+ murn ~(tap by make) + |= [name=@ta next=@da task] + ?:((lte next now.bowl) (some name) ~) + :: + =| cards=(list card) + |- + ?~ tasks [cards this] + =^ caz this (on-command sole %run i.tasks) + $(tasks t.tasks, cards (weld cards caz)) + :: ?> ?=([%desk @ ~] wire) =* desk i.t.wire ?. ?=(%writ +<.sign) ~& [dap.bowl %unexpected-sign +<.sign] [~ this] :: - =/ pills=(list [name=@ta =pill]) - %+ skim ~(tap by make) - |= [@ta =pill] - ?- -.pill - %ivory =(desk base.pill) - ?(%solid %brass) |(=(desk base.pill) (~(has in etc.pill) desk)) + =/ tasks=(list @ta) + %+ murn ~(tap by make) + |= [name=@ta next=@da =task] + =- ?:(- (some name) ~) + ?- -.task + %ivory =(desk base.task) + ?(%solid %brass) |(=(desk base.task) (~(has in etc.task) desk)) + %desk =(desk desk.task) == - ?: =(~ pills) - [~ this(hear (~(del in hear) desk))] + ?: =(~ tasks) + [~ this(hear (~(del by hear) desk))] :: - =| cards=(list card) - |- - ?~ pills - =- [[- cards] this] - :+ %pass /desk/[desk] - [%arvo %c %warp our.bowl desk `[%next %z da+now.bowl /]] - =; =card - $(pills t.pills, cards [card cards]) + =. hear + :: learn of new blobs for this desk + :: + %+ ~(put by hear) desk + %- ~(gas by (~(gut by hear) desk ~)) + %+ turn + %+ file-pages:libpill + /(scot %p our.bowl)/[desk]/(scot %da now.bowl) + directories:file-ovum:libpill + |= [path =page] + =+ l=(page-to-lobe page) + [l %direct l page] :: - =* name name.i.pills - =* pill pill.i.pills - =- [%shoe [sole]~ %sole %mor -] - =; sag=sole-effect:shoe - [[%txt "built {(trip name)}.pill"] sag ~] - |^ =* base base.pill - :+ %sag /pills/[name]/pill - ?- -.pill - %ivory (ivory:libpill (sys base)) + =/ next=@da (add now.bowl delay) + :_ :: delay next build for affected tasks :: - ?(%solid %brass) - =/ dez=(list [^desk path]) - %+ turn ~(tap in etc.pill) - |=(d=^desk [d (bek d)]) - ?- -.pill - %solid (solid:libpill (sys base) dez | now.bowl) - %brass (brass:libpill (sys base) dez) - == - == - :: - ++ sys - |= d=^desk - (snoc (bek d) %sys) - :: - ++ bek - |= d=^desk - ^- path - /(scot %p our.bowl)/[d]/(scot %da now.bowl) - -- + |- ?~ tasks this + =. make + %+ ~(jab by make) i.tasks + |=([@da =task] [next task]) + $(tasks t.tasks) + :~ :: watch for the next change on this desk + :: + :+ %pass /desk/[desk] + [%arvo %c %warp our.bowl desk `[%next %z da+now.bowl /]] + :: + :: set a timer for building affected tasks + :: + [%pass /build %arvo %b %wait next] + == :: ++ on-connect |= sole-id=@ta ^- (quip card _this) + ::TODO actually should just poke drum to write [~ this(sole sole-id)] :: ++ can-connect |=(* =(src our):bowl) diff --git a/pkg/autopill/sys.kelvin b/pkg/autopill/sys.kelvin index b7464903a..e68acb6a4 100644 --- a/pkg/autopill/sys.kelvin +++ b/pkg/autopill/sys.kelvin @@ -1 +1 @@ -[%zuse 420] +[%zuse 419] From 903351f86f729d8110b67793ca31a48120b3bbc3 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 16:43:00 +0100 Subject: [PATCH 15/44] pill: support including clay blob store During pill and install prop generation. In autopill, we stop tracking a copy of the blob store, instead just having the pill lib scry it out on-demand. --- pkg/arvo/gen/brass.hoon | 4 +-- pkg/arvo/gen/solid.hoon | 3 ++- pkg/arvo/sys/lull.hoon | 3 +++ pkg/autopill/app/autopill.hoon | 48 +++++++--------------------------- pkg/base-dev/lib/pill.hoon | 43 +++++++++++++++++++++--------- 5 files changed, 48 insertions(+), 53 deletions(-) diff --git a/pkg/arvo/gen/brass.hoon b/pkg/arvo/gen/brass.hoon index c6b8dd228..a80cd5e90 100644 --- a/pkg/arvo/gen/brass.hoon +++ b/pkg/arvo/gen/brass.hoon @@ -24,7 +24,7 @@ rest=(list desk) == :: - ~ + prime=_| == :- %pill ^- pill:pill @@ -45,4 +45,4 @@ |= =desk [desk /(scot %p p.bec)/[desk]/(scot %da now)] :: -(brass:pill sys dez) +(brass:pill sys dez prime) diff --git a/pkg/arvo/gen/solid.hoon b/pkg/arvo/gen/solid.hoon index 23f1fb9d3..f98d94948 100644 --- a/pkg/arvo/gen/solid.hoon +++ b/pkg/arvo/gen/solid.hoon @@ -28,6 +28,7 @@ == :: dub=_| + prime=_| == :- %pill ^- pill:pill @@ -45,4 +46,4 @@ |= =desk [desk /(scot %p p.bec)/[desk]/(scot %da now)] :: -(solid:pill sys dez dub now) +(solid:pill sys dez dub now prime) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 23b712d7b..b9c5dffa9 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -2529,6 +2529,9 @@ :: TODO: make $yuki an option for %into? :: $>(%park task:clay) + :: %clay: load blob store + :: + $>(%prep task:clay) :: %eyre: learn ports of live http servers :: $>(%live task:eyre) diff --git a/pkg/autopill/app/autopill.hoon b/pkg/autopill/app/autopill.hoon index b7a19c34c..0e383dcde 100644 --- a/pkg/autopill/app/autopill.hoon +++ b/pkg/autopill/app/autopill.hoon @@ -20,7 +20,7 @@ +$ state-0 $: %0 make=(map @ta [next=@da =task]) :: things to make - hear=(map desk (map lobe blob)) :: desks we are observing + hear=(set desk) :: desks we are observing sole=@ta :: the way out == :: @@ -113,29 +113,17 @@ ?- -.command %put =* task task.command - =/ target-desks=(set desk) + =/ targ=(set desk) ?- -.task %ivory [base.task ~ ~] ?(%solid %brass) (~(put in etc.task) base.task) %desk [desk.task ~ ~] == - =/ new-desks=(list desk) - ~(tap in (~(dif in target-desks) ~(key by hear))) - :: - =. make - %+ ~(put by make) - name.command - [now.bowl task.command] - =. hear - :: load existing blobs for desks - :: - %- ~(gas by hear) - %+ turn new-desks - |= d=desk - :- d - .^((map lobe blob) %cs /(scot %p our.bowl)/[d]/(scot %da now.bowl)/bloc) + =/ news (~(dif in targ) hear) + =. hear (~(uni in hear) targ) + =. make (~(put by make) name.command now.bowl task.command) :_ this - %+ turn new-desks + %+ turn ~(tap in news) |= =desk :+ %pass /desk/[desk] [%arvo %c %warp our.bowl desk `[%next %z da+now.bowl /]] @@ -188,16 +176,13 @@ %+ turn ~(tap in etc.task) |=(d=desk [d (bek d)]) ?- -.task - %solid (solid:libpill (sys base) dez | now.bowl) - %brass (brass:libpill (sys base) dez) + %solid (solid:libpill (sys base) dez | now.bowl &) + %brass (brass:libpill (sys base) dez &) == :: %desk =* desk desk.task - ~? !(~(has by hear) desk) [%no-blob-cache desk=desk] - ~& [%prime ~(wyt by (~(gut by hear) desk ~))] - ::TODO shouldn't /lib/pill just scry for the blobs on-demand? - (install:events:libpill desk (byk desk) (~(gut by hear) desk ~)) + (install:events:libpill desk (byk desk) &) == :: ++ sys @@ -249,20 +234,7 @@ %desk =(desk desk.task) == ?: =(~ tasks) - [~ this(hear (~(del by hear) desk))] - :: - =. hear - :: learn of new blobs for this desk - :: - %+ ~(put by hear) desk - %- ~(gas by (~(gut by hear) desk ~)) - %+ turn - %+ file-pages:libpill - /(scot %p our.bowl)/[desk]/(scot %da now.bowl) - directories:file-ovum:libpill - |= [path =page] - =+ l=(page-to-lobe page) - [l %direct l page] + [~ this(hear (~(del in hear) desk))] :: =/ next=@da (add now.bowl delay) :_ :: delay next build for affected tasks diff --git a/pkg/base-dev/lib/pill.hoon b/pkg/base-dev/lib/pill.hoon index 3bb10fdc0..b04b859f9 100644 --- a/pkg/base-dev/lib/pill.hoon +++ b/pkg/base-dev/lib/pill.hoon @@ -101,6 +101,16 @@ :: ++ file-ovum2 |=(p=path `unix-event`[//arvo what/(user-files p)]) :: +++ prep-ovum + |= dez=(list path) + ^- unix-event + =- ~& clay-blobs+~(wyt by -) + [/c/inflate [%prep -]] + %+ roll dez + |= [bas=path out=(map lobe:clay blob:clay)] + %- ~(uni by out) + .^(_out %cs (snoc bas %bloc)) +:: :: +user-files: all userspace hoon files :: ++ user-files @@ -145,7 +155,7 @@ :: sys: root path to boot system, `/~me/[desk]/now/sys` :: dez: secondary desks and their root paths :: - |= [sys=path dez=(list [desk path]) dub=? now=@da] + |= [sys=path dez=(list [desk path]) dub=? now=@da prime=?] ^- pill =/ bas=path (scag 3 sys) =/ compiler-path (weld sys /hoon) @@ -218,15 +228,17 @@ :: :+ %pill %solid :+ boot-ova ~ - %+ turn - (snoc dez [%base bas]) - file-ovum:pill + =. dez (snoc dez [%base bas]) + %+ weld + (turn dez file-ovum) + ?. prime ~ + [(prep-ovum (turn dez tail))]~ :: ++ brass :: sys: root path to boot system, `/~me/[desk]/now/sys` :: dez: secondary desks and their root paths :: - |= [sys=path dez=(list [desk path])] + |= [sys=path dez=(list [desk path]) prime=?] ^- pill =/ bas=path (scag 3 sys) :: compiler-source: hoon source file producing compiler, `sys/hoon` @@ -265,9 +277,11 @@ :~ (boot-ovum:pill compiler-source arvo-source) (file-ovum2:pill bas) == - %+ turn - (snoc dez [%base bas]) - file-ovum:pill + =. dez (snoc dez [%base bas]) + %+ weld + (turn dez file-ovum) + ?. prime ~ + [(prep-ovum (turn dez tail))]~ :: ++ ivory |= sys=path @@ -335,13 +349,18 @@ +$ tier ?(%pre-userspace %post-userspace) :: ++ install - |= [as=desk =beak pri=(map lobe:clay blob:clay)] + |= [as=desk =beak pri=?] ^- prop :^ %prop %install %post-userspace ::TODO will exclude non-:directories files, such as /changelog/txt - :~ (file-ovum as (en-beam beak /)) - [/c/inflate/[as] [%prep pri]] - [/d/install/[as] [%seat as]] + =- (murn - same) + ^- (list (unit ovum)) + :~ `(file-ovum as (en-beam beak /)) + :: + ?. pri ~ + `(prep-ovum (en-beam beak /) ~) + :: + `[/d/install/[as] [%seat as]] == -- -- From 196b9b4a777e23cff9b4edb5a8ffb69a97ef1ebf Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 17:00:45 +0100 Subject: [PATCH 16/44] autopill: clear next build time after build --- pkg/autopill/app/autopill.hoon | 38 +++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/pkg/autopill/app/autopill.hoon b/pkg/autopill/app/autopill.hoon index 0e383dcde..6416ed574 100644 --- a/pkg/autopill/app/autopill.hoon +++ b/pkg/autopill/app/autopill.hoon @@ -19,9 +19,9 @@ |% +$ state-0 $: %0 - make=(map @ta [next=@da =task]) :: things to make - hear=(set desk) :: desks we are observing - sole=@ta :: the way out + make=(map @ta [next=(unit @da) =task]) :: things to make + hear=(set desk) :: observed desks + sole=@ta :: the way out == :: +$ task @@ -121,7 +121,7 @@ == =/ news (~(dif in targ) hear) =. hear (~(uni in hear) targ) - =. make (~(put by make) name.command now.bowl task.command) + =. make (~(put by make) name.command `now.bowl task.command) :_ this %+ turn ~(tap in news) |= =desk @@ -144,21 +144,25 @@ :- [%txt "--"] :- [%txt "builds:"] %+ turn ~(tap by make) - |= [name=@ta next=@da =task] + |= [name=@ta next=(unit @da) =task] :- %txt %- trip %+ rap 3 - =- [name ' (' (scot %da next) ') : +' -.task ' %' -] - ?- -.task - %ivory [base.task ~] - ?(%solid %brass) [base.task ' %' (join ' %' ~(tap in etc.task))] - %desk [desk.task ~] - == + :* name ' (' + ?~(next 'up to date' (scot %da u.next)) + ') : +' -.task ' %' + :: + ?- -.task + %ivory [base.task ~] + ?(%solid %brass) [base.task ' %' (join ' %' ~(tap in etc.task))] + %desk [desk.task ~] + == == :: %run =* name name.command =+ (~(got by make) name) - :_ this + :_ =- this(make (~(jab by make) name -)) + |=([next=(unit @da) =^task] [~ task]) ::TODO just poke hood instead? =; sag=sole-effect:shoe [%shoe [sole]~ %sole %mor [[%txt "built {(trip name)}"] sag ~]]~ @@ -204,13 +208,13 @@ ^- (quip card _this) ?: ?=([%build ~] wire) ?> ?=(%wake +<.sign) - ::TODO should nullify next for affected tasks to avoid re-run ?^ error.sign ((slog 'on-wake build failed' u.error.sign) ~ this) =/ tasks=(list @ta) %+ murn ~(tap by make) - |= [name=@ta next=@da task] - ?:((lte next now.bowl) (some name) ~) + |= [name=@ta next=(unit @da) task] + ?~ next ~ + ?:((lte u.next now.bowl) (some name) ~) :: =| cards=(list card) |- @@ -226,7 +230,7 @@ :: =/ tasks=(list @ta) %+ murn ~(tap by make) - |= [name=@ta next=@da =task] + |= [name=@ta (unit @da) =task] =- ?:(- (some name) ~) ?- -.task %ivory =(desk base.task) @@ -242,7 +246,7 @@ |- ?~ tasks this =. make %+ ~(jab by make) i.tasks - |=([@da =task] [next task]) + |=([(unit @da) =task] [`next task]) $(tasks t.tasks) :~ :: watch for the next change on this desk :: From 136f146774568f9eb44d08b729109ad07c1722fd Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 17:06:18 +0100 Subject: [PATCH 17/44] autoprop: rename from autopill --- pkg/autopill/desk.bill | 3 --- .../app/autopill.hoon => autoprop/app/autoprop.hoon} | 9 +++++++-- pkg/autoprop/desk.bill | 3 +++ pkg/{autopill => autoprop}/lib/agentio.hoon | 0 pkg/{autopill => autoprop}/lib/azimuth.hoon | 0 pkg/{autopill => autoprop}/lib/azimuthio.hoon | 0 pkg/{autopill => autoprop}/lib/bip/b158.hoon | 0 pkg/{autopill => autoprop}/lib/bip/b173.hoon | 0 pkg/{autopill => autoprop}/lib/bip/b174.hoon | 0 pkg/{autopill => autoprop}/lib/bip32.hoon | 0 pkg/{autopill => autoprop}/lib/bip39.hoon | 0 pkg/{autopill => autoprop}/lib/bip39/english.hoon | 0 pkg/{autopill => autoprop}/lib/bitcoin-utils.hoon | 0 pkg/{autopill => autoprop}/lib/cram.hoon | 0 pkg/{autopill => autoprop}/lib/dbug.hoon | 0 pkg/{autopill => autoprop}/lib/default-agent.hoon | 0 pkg/{autopill => autoprop}/lib/der.hoon | 0 pkg/{autopill => autoprop}/lib/ethereum.hoon | 0 pkg/{autopill => autoprop}/lib/ethio.hoon | 0 pkg/{autopill => autoprop}/lib/jose.hoon | 0 pkg/{autopill => autoprop}/lib/keygen.hoon | 0 .../lib/language-server/build.hoon | 0 .../lib/language-server/complete.hoon | 0 .../lib/language-server/easy-print.hoon | 0 pkg/{autopill => autoprop}/lib/language-server/json.hoon | 0 .../lib/language-server/parser.hoon | 0 .../lib/language-server/rune-snippet.hoon | 0 pkg/{autopill => autoprop}/lib/ph/io.hoon | 0 pkg/{autopill => autoprop}/lib/ph/util.hoon | 0 pkg/{autopill => autoprop}/lib/pill.hoon | 0 pkg/{autopill => autoprop}/lib/pkcs.hoon | 0 pkg/{autopill => autoprop}/lib/primitive-rsa.hoon | 0 pkg/{autopill => autoprop}/lib/ring.hoon | 0 pkg/{autopill => autoprop}/lib/server.hoon | 0 pkg/{autopill => autoprop}/lib/shoe.hoon | 0 pkg/{autopill => autoprop}/lib/skeleton.hoon | 0 pkg/{autopill => autoprop}/lib/sole.hoon | 0 pkg/{autopill => autoprop}/lib/strand.hoon | 0 pkg/{autopill => autoprop}/lib/strandio.hoon | 0 pkg/{autopill => autoprop}/lib/test.hoon | 0 pkg/{autopill => autoprop}/lib/verb.hoon | 0 pkg/{autopill => autoprop}/mar/belt.hoon | 0 pkg/{autopill => autoprop}/mar/bill.hoon | 0 pkg/{autopill => autoprop}/mar/blit.hoon | 0 pkg/{autopill => autoprop}/mar/hoon.hoon | 0 pkg/{autopill => autoprop}/mar/htm.hoon | 0 pkg/{autopill => autoprop}/mar/html.hoon | 0 pkg/{autopill => autoprop}/mar/httr.hoon | 0 pkg/{autopill => autoprop}/mar/hymn.hoon | 0 pkg/{autopill => autoprop}/mar/js.hoon | 0 pkg/{autopill => autoprop}/mar/json.hoon | 0 pkg/{autopill => autoprop}/mar/json/rpc/response.hoon | 0 pkg/{autopill => autoprop}/mar/kelvin.hoon | 0 .../mar/language-server/rpc/notification.hoon | 0 .../mar/language-server/rpc/request.hoon | 0 .../mar/language-server/rpc/response.hoon | 0 pkg/{autopill => autoprop}/mar/mime.hoon | 0 pkg/{autopill => autoprop}/mar/noun.hoon | 0 pkg/{autopill => autoprop}/mar/path.hoon | 0 pkg/{autopill => autoprop}/mar/png.hoon | 0 pkg/{autopill => autoprop}/mar/purl.hoon | 0 pkg/{autopill => autoprop}/mar/ship.hoon | 0 pkg/{autopill => autoprop}/mar/sole/action.hoon | 0 pkg/{autopill => autoprop}/mar/sole/effect.hoon | 0 pkg/{autopill => autoprop}/mar/svg.hoon | 0 pkg/{autopill => autoprop}/mar/tang.hoon | 0 pkg/{autopill => autoprop}/mar/tape.hoon | 0 pkg/{autopill => autoprop}/mar/txt-diff.hoon | 0 pkg/{autopill => autoprop}/mar/txt.hoon | 0 pkg/{autopill => autoprop}/mar/udon.hoon | 0 pkg/{autopill => autoprop}/mar/umd.hoon | 0 pkg/{autopill => autoprop}/mar/urb.hoon | 0 pkg/{autopill => autoprop}/mar/urbit.hoon | 0 pkg/{autopill => autoprop}/mar/woff2.hoon | 0 pkg/{autopill => autoprop}/mar/xml.hoon | 0 pkg/{autopill => autoprop}/sur/aquarium.hoon | 0 pkg/{autopill => autoprop}/sur/asn1.hoon | 0 pkg/{autopill => autoprop}/sur/bitcoin.hoon | 0 pkg/{autopill => autoprop}/sur/hood.hoon | 0 pkg/{autopill => autoprop}/sur/json/rpc.hoon | 0 pkg/{autopill => autoprop}/sur/keygen.hoon | 0 pkg/{autopill => autoprop}/sur/language-server.hoon | 0 pkg/{autopill => autoprop}/sur/ring.hoon | 0 pkg/{autopill => autoprop}/sur/sole.hoon | 0 pkg/{autopill => autoprop}/sur/spider.hoon | 0 pkg/{autopill => autoprop}/sur/verb.hoon | 0 pkg/{autopill => autoprop}/sys.kelvin | 0 87 files changed, 10 insertions(+), 5 deletions(-) delete mode 100644 pkg/autopill/desk.bill rename pkg/{autopill/app/autopill.hoon => autoprop/app/autoprop.hoon} (96%) create mode 100644 pkg/autoprop/desk.bill rename pkg/{autopill => autoprop}/lib/agentio.hoon (100%) rename pkg/{autopill => autoprop}/lib/azimuth.hoon (100%) rename pkg/{autopill => autoprop}/lib/azimuthio.hoon (100%) rename pkg/{autopill => autoprop}/lib/bip/b158.hoon (100%) rename pkg/{autopill => autoprop}/lib/bip/b173.hoon (100%) rename pkg/{autopill => autoprop}/lib/bip/b174.hoon (100%) rename pkg/{autopill => autoprop}/lib/bip32.hoon (100%) rename pkg/{autopill => autoprop}/lib/bip39.hoon (100%) rename pkg/{autopill => autoprop}/lib/bip39/english.hoon (100%) rename pkg/{autopill => autoprop}/lib/bitcoin-utils.hoon (100%) rename pkg/{autopill => autoprop}/lib/cram.hoon (100%) rename pkg/{autopill => autoprop}/lib/dbug.hoon (100%) rename pkg/{autopill => autoprop}/lib/default-agent.hoon (100%) rename pkg/{autopill => autoprop}/lib/der.hoon (100%) rename pkg/{autopill => autoprop}/lib/ethereum.hoon (100%) rename pkg/{autopill => autoprop}/lib/ethio.hoon (100%) rename pkg/{autopill => autoprop}/lib/jose.hoon (100%) rename pkg/{autopill => autoprop}/lib/keygen.hoon (100%) rename pkg/{autopill => autoprop}/lib/language-server/build.hoon (100%) rename pkg/{autopill => autoprop}/lib/language-server/complete.hoon (100%) rename pkg/{autopill => autoprop}/lib/language-server/easy-print.hoon (100%) rename pkg/{autopill => autoprop}/lib/language-server/json.hoon (100%) rename pkg/{autopill => autoprop}/lib/language-server/parser.hoon (100%) rename pkg/{autopill => autoprop}/lib/language-server/rune-snippet.hoon (100%) rename pkg/{autopill => autoprop}/lib/ph/io.hoon (100%) rename pkg/{autopill => autoprop}/lib/ph/util.hoon (100%) rename pkg/{autopill => autoprop}/lib/pill.hoon (100%) rename pkg/{autopill => autoprop}/lib/pkcs.hoon (100%) rename pkg/{autopill => autoprop}/lib/primitive-rsa.hoon (100%) rename pkg/{autopill => autoprop}/lib/ring.hoon (100%) rename pkg/{autopill => autoprop}/lib/server.hoon (100%) rename pkg/{autopill => autoprop}/lib/shoe.hoon (100%) rename pkg/{autopill => autoprop}/lib/skeleton.hoon (100%) rename pkg/{autopill => autoprop}/lib/sole.hoon (100%) rename pkg/{autopill => autoprop}/lib/strand.hoon (100%) rename pkg/{autopill => autoprop}/lib/strandio.hoon (100%) rename pkg/{autopill => autoprop}/lib/test.hoon (100%) rename pkg/{autopill => autoprop}/lib/verb.hoon (100%) rename pkg/{autopill => autoprop}/mar/belt.hoon (100%) rename pkg/{autopill => autoprop}/mar/bill.hoon (100%) rename pkg/{autopill => autoprop}/mar/blit.hoon (100%) rename pkg/{autopill => autoprop}/mar/hoon.hoon (100%) rename pkg/{autopill => autoprop}/mar/htm.hoon (100%) rename pkg/{autopill => autoprop}/mar/html.hoon (100%) rename pkg/{autopill => autoprop}/mar/httr.hoon (100%) rename pkg/{autopill => autoprop}/mar/hymn.hoon (100%) rename pkg/{autopill => autoprop}/mar/js.hoon (100%) rename pkg/{autopill => autoprop}/mar/json.hoon (100%) rename pkg/{autopill => autoprop}/mar/json/rpc/response.hoon (100%) rename pkg/{autopill => autoprop}/mar/kelvin.hoon (100%) rename pkg/{autopill => autoprop}/mar/language-server/rpc/notification.hoon (100%) rename pkg/{autopill => autoprop}/mar/language-server/rpc/request.hoon (100%) rename pkg/{autopill => autoprop}/mar/language-server/rpc/response.hoon (100%) rename pkg/{autopill => autoprop}/mar/mime.hoon (100%) rename pkg/{autopill => autoprop}/mar/noun.hoon (100%) rename pkg/{autopill => autoprop}/mar/path.hoon (100%) rename pkg/{autopill => autoprop}/mar/png.hoon (100%) rename pkg/{autopill => autoprop}/mar/purl.hoon (100%) rename pkg/{autopill => autoprop}/mar/ship.hoon (100%) rename pkg/{autopill => autoprop}/mar/sole/action.hoon (100%) rename pkg/{autopill => autoprop}/mar/sole/effect.hoon (100%) rename pkg/{autopill => autoprop}/mar/svg.hoon (100%) rename pkg/{autopill => autoprop}/mar/tang.hoon (100%) rename pkg/{autopill => autoprop}/mar/tape.hoon (100%) rename pkg/{autopill => autoprop}/mar/txt-diff.hoon (100%) rename pkg/{autopill => autoprop}/mar/txt.hoon (100%) rename pkg/{autopill => autoprop}/mar/udon.hoon (100%) rename pkg/{autopill => autoprop}/mar/umd.hoon (100%) rename pkg/{autopill => autoprop}/mar/urb.hoon (100%) rename pkg/{autopill => autoprop}/mar/urbit.hoon (100%) rename pkg/{autopill => autoprop}/mar/woff2.hoon (100%) rename pkg/{autopill => autoprop}/mar/xml.hoon (100%) rename pkg/{autopill => autoprop}/sur/aquarium.hoon (100%) rename pkg/{autopill => autoprop}/sur/asn1.hoon (100%) rename pkg/{autopill => autoprop}/sur/bitcoin.hoon (100%) rename pkg/{autopill => autoprop}/sur/hood.hoon (100%) rename pkg/{autopill => autoprop}/sur/json/rpc.hoon (100%) rename pkg/{autopill => autoprop}/sur/keygen.hoon (100%) rename pkg/{autopill => autoprop}/sur/language-server.hoon (100%) rename pkg/{autopill => autoprop}/sur/ring.hoon (100%) rename pkg/{autopill => autoprop}/sur/sole.hoon (100%) rename pkg/{autopill => autoprop}/sur/spider.hoon (100%) rename pkg/{autopill => autoprop}/sur/verb.hoon (100%) rename pkg/{autopill => autoprop}/sys.kelvin (100%) diff --git a/pkg/autopill/desk.bill b/pkg/autopill/desk.bill deleted file mode 100644 index 8be9c3fd6..000000000 --- a/pkg/autopill/desk.bill +++ /dev/null @@ -1,3 +0,0 @@ -:~ %autopill -== - diff --git a/pkg/autopill/app/autopill.hoon b/pkg/autoprop/app/autoprop.hoon similarity index 96% rename from pkg/autopill/app/autopill.hoon rename to pkg/autoprop/app/autoprop.hoon index 6416ed574..75023b56f 100644 --- a/pkg/autopill/app/autopill.hoon +++ b/pkg/autoprop/app/autoprop.hoon @@ -12,6 +12,9 @@ :: see currently configured build tasks: :: ? :: +:: run task right now: +:: !latest-solid +:: /+ libpill=pill, shoe, verb, dbug, default-agent :: =, clay @@ -137,8 +140,10 @@ ^- (list card) =- [%shoe [sole-id]~ %sole %mor -]~ ^- (list sole-effect:shoe) - :- [%txt "to add: pill-name +type %args"] - :- [%txt "to del: -pill-name"] + :- [%txt "to add: task-name +type %args"] + :- [%txt " where +type is a pill type, or +desk"] + :- [%txt "to del: -task-name"] + :- [%txt "to run: !task-name"] ?: =(~ make) [%txt "no builds configured"]~ :- [%txt "--"] diff --git a/pkg/autoprop/desk.bill b/pkg/autoprop/desk.bill new file mode 100644 index 000000000..c5030c486 --- /dev/null +++ b/pkg/autoprop/desk.bill @@ -0,0 +1,3 @@ +:~ %autoprop +== + diff --git a/pkg/autopill/lib/agentio.hoon b/pkg/autoprop/lib/agentio.hoon similarity index 100% rename from pkg/autopill/lib/agentio.hoon rename to pkg/autoprop/lib/agentio.hoon diff --git a/pkg/autopill/lib/azimuth.hoon b/pkg/autoprop/lib/azimuth.hoon similarity index 100% rename from pkg/autopill/lib/azimuth.hoon rename to pkg/autoprop/lib/azimuth.hoon diff --git a/pkg/autopill/lib/azimuthio.hoon b/pkg/autoprop/lib/azimuthio.hoon similarity index 100% rename from pkg/autopill/lib/azimuthio.hoon rename to pkg/autoprop/lib/azimuthio.hoon diff --git a/pkg/autopill/lib/bip/b158.hoon b/pkg/autoprop/lib/bip/b158.hoon similarity index 100% rename from pkg/autopill/lib/bip/b158.hoon rename to pkg/autoprop/lib/bip/b158.hoon diff --git a/pkg/autopill/lib/bip/b173.hoon b/pkg/autoprop/lib/bip/b173.hoon similarity index 100% rename from pkg/autopill/lib/bip/b173.hoon rename to pkg/autoprop/lib/bip/b173.hoon diff --git a/pkg/autopill/lib/bip/b174.hoon b/pkg/autoprop/lib/bip/b174.hoon similarity index 100% rename from pkg/autopill/lib/bip/b174.hoon rename to pkg/autoprop/lib/bip/b174.hoon diff --git a/pkg/autopill/lib/bip32.hoon b/pkg/autoprop/lib/bip32.hoon similarity index 100% rename from pkg/autopill/lib/bip32.hoon rename to pkg/autoprop/lib/bip32.hoon diff --git a/pkg/autopill/lib/bip39.hoon b/pkg/autoprop/lib/bip39.hoon similarity index 100% rename from pkg/autopill/lib/bip39.hoon rename to pkg/autoprop/lib/bip39.hoon diff --git a/pkg/autopill/lib/bip39/english.hoon b/pkg/autoprop/lib/bip39/english.hoon similarity index 100% rename from pkg/autopill/lib/bip39/english.hoon rename to pkg/autoprop/lib/bip39/english.hoon diff --git a/pkg/autopill/lib/bitcoin-utils.hoon b/pkg/autoprop/lib/bitcoin-utils.hoon similarity index 100% rename from pkg/autopill/lib/bitcoin-utils.hoon rename to pkg/autoprop/lib/bitcoin-utils.hoon diff --git a/pkg/autopill/lib/cram.hoon b/pkg/autoprop/lib/cram.hoon similarity index 100% rename from pkg/autopill/lib/cram.hoon rename to pkg/autoprop/lib/cram.hoon diff --git a/pkg/autopill/lib/dbug.hoon b/pkg/autoprop/lib/dbug.hoon similarity index 100% rename from pkg/autopill/lib/dbug.hoon rename to pkg/autoprop/lib/dbug.hoon diff --git a/pkg/autopill/lib/default-agent.hoon b/pkg/autoprop/lib/default-agent.hoon similarity index 100% rename from pkg/autopill/lib/default-agent.hoon rename to pkg/autoprop/lib/default-agent.hoon diff --git a/pkg/autopill/lib/der.hoon b/pkg/autoprop/lib/der.hoon similarity index 100% rename from pkg/autopill/lib/der.hoon rename to pkg/autoprop/lib/der.hoon diff --git a/pkg/autopill/lib/ethereum.hoon b/pkg/autoprop/lib/ethereum.hoon similarity index 100% rename from pkg/autopill/lib/ethereum.hoon rename to pkg/autoprop/lib/ethereum.hoon diff --git a/pkg/autopill/lib/ethio.hoon b/pkg/autoprop/lib/ethio.hoon similarity index 100% rename from pkg/autopill/lib/ethio.hoon rename to pkg/autoprop/lib/ethio.hoon diff --git a/pkg/autopill/lib/jose.hoon b/pkg/autoprop/lib/jose.hoon similarity index 100% rename from pkg/autopill/lib/jose.hoon rename to pkg/autoprop/lib/jose.hoon diff --git a/pkg/autopill/lib/keygen.hoon b/pkg/autoprop/lib/keygen.hoon similarity index 100% rename from pkg/autopill/lib/keygen.hoon rename to pkg/autoprop/lib/keygen.hoon diff --git a/pkg/autopill/lib/language-server/build.hoon b/pkg/autoprop/lib/language-server/build.hoon similarity index 100% rename from pkg/autopill/lib/language-server/build.hoon rename to pkg/autoprop/lib/language-server/build.hoon diff --git a/pkg/autopill/lib/language-server/complete.hoon b/pkg/autoprop/lib/language-server/complete.hoon similarity index 100% rename from pkg/autopill/lib/language-server/complete.hoon rename to pkg/autoprop/lib/language-server/complete.hoon diff --git a/pkg/autopill/lib/language-server/easy-print.hoon b/pkg/autoprop/lib/language-server/easy-print.hoon similarity index 100% rename from pkg/autopill/lib/language-server/easy-print.hoon rename to pkg/autoprop/lib/language-server/easy-print.hoon diff --git a/pkg/autopill/lib/language-server/json.hoon b/pkg/autoprop/lib/language-server/json.hoon similarity index 100% rename from pkg/autopill/lib/language-server/json.hoon rename to pkg/autoprop/lib/language-server/json.hoon diff --git a/pkg/autopill/lib/language-server/parser.hoon b/pkg/autoprop/lib/language-server/parser.hoon similarity index 100% rename from pkg/autopill/lib/language-server/parser.hoon rename to pkg/autoprop/lib/language-server/parser.hoon diff --git a/pkg/autopill/lib/language-server/rune-snippet.hoon b/pkg/autoprop/lib/language-server/rune-snippet.hoon similarity index 100% rename from pkg/autopill/lib/language-server/rune-snippet.hoon rename to pkg/autoprop/lib/language-server/rune-snippet.hoon diff --git a/pkg/autopill/lib/ph/io.hoon b/pkg/autoprop/lib/ph/io.hoon similarity index 100% rename from pkg/autopill/lib/ph/io.hoon rename to pkg/autoprop/lib/ph/io.hoon diff --git a/pkg/autopill/lib/ph/util.hoon b/pkg/autoprop/lib/ph/util.hoon similarity index 100% rename from pkg/autopill/lib/ph/util.hoon rename to pkg/autoprop/lib/ph/util.hoon diff --git a/pkg/autopill/lib/pill.hoon b/pkg/autoprop/lib/pill.hoon similarity index 100% rename from pkg/autopill/lib/pill.hoon rename to pkg/autoprop/lib/pill.hoon diff --git a/pkg/autopill/lib/pkcs.hoon b/pkg/autoprop/lib/pkcs.hoon similarity index 100% rename from pkg/autopill/lib/pkcs.hoon rename to pkg/autoprop/lib/pkcs.hoon diff --git a/pkg/autopill/lib/primitive-rsa.hoon b/pkg/autoprop/lib/primitive-rsa.hoon similarity index 100% rename from pkg/autopill/lib/primitive-rsa.hoon rename to pkg/autoprop/lib/primitive-rsa.hoon diff --git a/pkg/autopill/lib/ring.hoon b/pkg/autoprop/lib/ring.hoon similarity index 100% rename from pkg/autopill/lib/ring.hoon rename to pkg/autoprop/lib/ring.hoon diff --git a/pkg/autopill/lib/server.hoon b/pkg/autoprop/lib/server.hoon similarity index 100% rename from pkg/autopill/lib/server.hoon rename to pkg/autoprop/lib/server.hoon diff --git a/pkg/autopill/lib/shoe.hoon b/pkg/autoprop/lib/shoe.hoon similarity index 100% rename from pkg/autopill/lib/shoe.hoon rename to pkg/autoprop/lib/shoe.hoon diff --git a/pkg/autopill/lib/skeleton.hoon b/pkg/autoprop/lib/skeleton.hoon similarity index 100% rename from pkg/autopill/lib/skeleton.hoon rename to pkg/autoprop/lib/skeleton.hoon diff --git a/pkg/autopill/lib/sole.hoon b/pkg/autoprop/lib/sole.hoon similarity index 100% rename from pkg/autopill/lib/sole.hoon rename to pkg/autoprop/lib/sole.hoon diff --git a/pkg/autopill/lib/strand.hoon b/pkg/autoprop/lib/strand.hoon similarity index 100% rename from pkg/autopill/lib/strand.hoon rename to pkg/autoprop/lib/strand.hoon diff --git a/pkg/autopill/lib/strandio.hoon b/pkg/autoprop/lib/strandio.hoon similarity index 100% rename from pkg/autopill/lib/strandio.hoon rename to pkg/autoprop/lib/strandio.hoon diff --git a/pkg/autopill/lib/test.hoon b/pkg/autoprop/lib/test.hoon similarity index 100% rename from pkg/autopill/lib/test.hoon rename to pkg/autoprop/lib/test.hoon diff --git a/pkg/autopill/lib/verb.hoon b/pkg/autoprop/lib/verb.hoon similarity index 100% rename from pkg/autopill/lib/verb.hoon rename to pkg/autoprop/lib/verb.hoon diff --git a/pkg/autopill/mar/belt.hoon b/pkg/autoprop/mar/belt.hoon similarity index 100% rename from pkg/autopill/mar/belt.hoon rename to pkg/autoprop/mar/belt.hoon diff --git a/pkg/autopill/mar/bill.hoon b/pkg/autoprop/mar/bill.hoon similarity index 100% rename from pkg/autopill/mar/bill.hoon rename to pkg/autoprop/mar/bill.hoon diff --git a/pkg/autopill/mar/blit.hoon b/pkg/autoprop/mar/blit.hoon similarity index 100% rename from pkg/autopill/mar/blit.hoon rename to pkg/autoprop/mar/blit.hoon diff --git a/pkg/autopill/mar/hoon.hoon b/pkg/autoprop/mar/hoon.hoon similarity index 100% rename from pkg/autopill/mar/hoon.hoon rename to pkg/autoprop/mar/hoon.hoon diff --git a/pkg/autopill/mar/htm.hoon b/pkg/autoprop/mar/htm.hoon similarity index 100% rename from pkg/autopill/mar/htm.hoon rename to pkg/autoprop/mar/htm.hoon diff --git a/pkg/autopill/mar/html.hoon b/pkg/autoprop/mar/html.hoon similarity index 100% rename from pkg/autopill/mar/html.hoon rename to pkg/autoprop/mar/html.hoon diff --git a/pkg/autopill/mar/httr.hoon b/pkg/autoprop/mar/httr.hoon similarity index 100% rename from pkg/autopill/mar/httr.hoon rename to pkg/autoprop/mar/httr.hoon diff --git a/pkg/autopill/mar/hymn.hoon b/pkg/autoprop/mar/hymn.hoon similarity index 100% rename from pkg/autopill/mar/hymn.hoon rename to pkg/autoprop/mar/hymn.hoon diff --git a/pkg/autopill/mar/js.hoon b/pkg/autoprop/mar/js.hoon similarity index 100% rename from pkg/autopill/mar/js.hoon rename to pkg/autoprop/mar/js.hoon diff --git a/pkg/autopill/mar/json.hoon b/pkg/autoprop/mar/json.hoon similarity index 100% rename from pkg/autopill/mar/json.hoon rename to pkg/autoprop/mar/json.hoon diff --git a/pkg/autopill/mar/json/rpc/response.hoon b/pkg/autoprop/mar/json/rpc/response.hoon similarity index 100% rename from pkg/autopill/mar/json/rpc/response.hoon rename to pkg/autoprop/mar/json/rpc/response.hoon diff --git a/pkg/autopill/mar/kelvin.hoon b/pkg/autoprop/mar/kelvin.hoon similarity index 100% rename from pkg/autopill/mar/kelvin.hoon rename to pkg/autoprop/mar/kelvin.hoon diff --git a/pkg/autopill/mar/language-server/rpc/notification.hoon b/pkg/autoprop/mar/language-server/rpc/notification.hoon similarity index 100% rename from pkg/autopill/mar/language-server/rpc/notification.hoon rename to pkg/autoprop/mar/language-server/rpc/notification.hoon diff --git a/pkg/autopill/mar/language-server/rpc/request.hoon b/pkg/autoprop/mar/language-server/rpc/request.hoon similarity index 100% rename from pkg/autopill/mar/language-server/rpc/request.hoon rename to pkg/autoprop/mar/language-server/rpc/request.hoon diff --git a/pkg/autopill/mar/language-server/rpc/response.hoon b/pkg/autoprop/mar/language-server/rpc/response.hoon similarity index 100% rename from pkg/autopill/mar/language-server/rpc/response.hoon rename to pkg/autoprop/mar/language-server/rpc/response.hoon diff --git a/pkg/autopill/mar/mime.hoon b/pkg/autoprop/mar/mime.hoon similarity index 100% rename from pkg/autopill/mar/mime.hoon rename to pkg/autoprop/mar/mime.hoon diff --git a/pkg/autopill/mar/noun.hoon b/pkg/autoprop/mar/noun.hoon similarity index 100% rename from pkg/autopill/mar/noun.hoon rename to pkg/autoprop/mar/noun.hoon diff --git a/pkg/autopill/mar/path.hoon b/pkg/autoprop/mar/path.hoon similarity index 100% rename from pkg/autopill/mar/path.hoon rename to pkg/autoprop/mar/path.hoon diff --git a/pkg/autopill/mar/png.hoon b/pkg/autoprop/mar/png.hoon similarity index 100% rename from pkg/autopill/mar/png.hoon rename to pkg/autoprop/mar/png.hoon diff --git a/pkg/autopill/mar/purl.hoon b/pkg/autoprop/mar/purl.hoon similarity index 100% rename from pkg/autopill/mar/purl.hoon rename to pkg/autoprop/mar/purl.hoon diff --git a/pkg/autopill/mar/ship.hoon b/pkg/autoprop/mar/ship.hoon similarity index 100% rename from pkg/autopill/mar/ship.hoon rename to pkg/autoprop/mar/ship.hoon diff --git a/pkg/autopill/mar/sole/action.hoon b/pkg/autoprop/mar/sole/action.hoon similarity index 100% rename from pkg/autopill/mar/sole/action.hoon rename to pkg/autoprop/mar/sole/action.hoon diff --git a/pkg/autopill/mar/sole/effect.hoon b/pkg/autoprop/mar/sole/effect.hoon similarity index 100% rename from pkg/autopill/mar/sole/effect.hoon rename to pkg/autoprop/mar/sole/effect.hoon diff --git a/pkg/autopill/mar/svg.hoon b/pkg/autoprop/mar/svg.hoon similarity index 100% rename from pkg/autopill/mar/svg.hoon rename to pkg/autoprop/mar/svg.hoon diff --git a/pkg/autopill/mar/tang.hoon b/pkg/autoprop/mar/tang.hoon similarity index 100% rename from pkg/autopill/mar/tang.hoon rename to pkg/autoprop/mar/tang.hoon diff --git a/pkg/autopill/mar/tape.hoon b/pkg/autoprop/mar/tape.hoon similarity index 100% rename from pkg/autopill/mar/tape.hoon rename to pkg/autoprop/mar/tape.hoon diff --git a/pkg/autopill/mar/txt-diff.hoon b/pkg/autoprop/mar/txt-diff.hoon similarity index 100% rename from pkg/autopill/mar/txt-diff.hoon rename to pkg/autoprop/mar/txt-diff.hoon diff --git a/pkg/autopill/mar/txt.hoon b/pkg/autoprop/mar/txt.hoon similarity index 100% rename from pkg/autopill/mar/txt.hoon rename to pkg/autoprop/mar/txt.hoon diff --git a/pkg/autopill/mar/udon.hoon b/pkg/autoprop/mar/udon.hoon similarity index 100% rename from pkg/autopill/mar/udon.hoon rename to pkg/autoprop/mar/udon.hoon diff --git a/pkg/autopill/mar/umd.hoon b/pkg/autoprop/mar/umd.hoon similarity index 100% rename from pkg/autopill/mar/umd.hoon rename to pkg/autoprop/mar/umd.hoon diff --git a/pkg/autopill/mar/urb.hoon b/pkg/autoprop/mar/urb.hoon similarity index 100% rename from pkg/autopill/mar/urb.hoon rename to pkg/autoprop/mar/urb.hoon diff --git a/pkg/autopill/mar/urbit.hoon b/pkg/autoprop/mar/urbit.hoon similarity index 100% rename from pkg/autopill/mar/urbit.hoon rename to pkg/autoprop/mar/urbit.hoon diff --git a/pkg/autopill/mar/woff2.hoon b/pkg/autoprop/mar/woff2.hoon similarity index 100% rename from pkg/autopill/mar/woff2.hoon rename to pkg/autoprop/mar/woff2.hoon diff --git a/pkg/autopill/mar/xml.hoon b/pkg/autoprop/mar/xml.hoon similarity index 100% rename from pkg/autopill/mar/xml.hoon rename to pkg/autoprop/mar/xml.hoon diff --git a/pkg/autopill/sur/aquarium.hoon b/pkg/autoprop/sur/aquarium.hoon similarity index 100% rename from pkg/autopill/sur/aquarium.hoon rename to pkg/autoprop/sur/aquarium.hoon diff --git a/pkg/autopill/sur/asn1.hoon b/pkg/autoprop/sur/asn1.hoon similarity index 100% rename from pkg/autopill/sur/asn1.hoon rename to pkg/autoprop/sur/asn1.hoon diff --git a/pkg/autopill/sur/bitcoin.hoon b/pkg/autoprop/sur/bitcoin.hoon similarity index 100% rename from pkg/autopill/sur/bitcoin.hoon rename to pkg/autoprop/sur/bitcoin.hoon diff --git a/pkg/autopill/sur/hood.hoon b/pkg/autoprop/sur/hood.hoon similarity index 100% rename from pkg/autopill/sur/hood.hoon rename to pkg/autoprop/sur/hood.hoon diff --git a/pkg/autopill/sur/json/rpc.hoon b/pkg/autoprop/sur/json/rpc.hoon similarity index 100% rename from pkg/autopill/sur/json/rpc.hoon rename to pkg/autoprop/sur/json/rpc.hoon diff --git a/pkg/autopill/sur/keygen.hoon b/pkg/autoprop/sur/keygen.hoon similarity index 100% rename from pkg/autopill/sur/keygen.hoon rename to pkg/autoprop/sur/keygen.hoon diff --git a/pkg/autopill/sur/language-server.hoon b/pkg/autoprop/sur/language-server.hoon similarity index 100% rename from pkg/autopill/sur/language-server.hoon rename to pkg/autoprop/sur/language-server.hoon diff --git a/pkg/autopill/sur/ring.hoon b/pkg/autoprop/sur/ring.hoon similarity index 100% rename from pkg/autopill/sur/ring.hoon rename to pkg/autoprop/sur/ring.hoon diff --git a/pkg/autopill/sur/sole.hoon b/pkg/autoprop/sur/sole.hoon similarity index 100% rename from pkg/autopill/sur/sole.hoon rename to pkg/autoprop/sur/sole.hoon diff --git a/pkg/autopill/sur/spider.hoon b/pkg/autoprop/sur/spider.hoon similarity index 100% rename from pkg/autopill/sur/spider.hoon rename to pkg/autoprop/sur/spider.hoon diff --git a/pkg/autopill/sur/verb.hoon b/pkg/autoprop/sur/verb.hoon similarity index 100% rename from pkg/autopill/sur/verb.hoon rename to pkg/autoprop/sur/verb.hoon diff --git a/pkg/autopill/sys.kelvin b/pkg/autoprop/sys.kelvin similarity index 100% rename from pkg/autopill/sys.kelvin rename to pkg/autoprop/sys.kelvin From c32f7bf408601581dc4b1903e00d9323ca380915 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 17:23:04 +0100 Subject: [PATCH 18/44] autoprop: tweak cli ux --- pkg/autoprop/app/autoprop.hoon | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/pkg/autoprop/app/autoprop.hoon b/pkg/autoprop/app/autoprop.hoon index 75023b56f..af63edd19 100644 --- a/pkg/autoprop/app/autoprop.hoon +++ b/pkg/autoprop/app/autoprop.hoon @@ -1,13 +1,13 @@ :: autoprop: make pills & props when desk contents change :: :: auto-build a new .urb/put/latest-solid.pill: -:: latest-solid +solid %kids %garden +:: +latest-solid solid %kids %garden :: :: stop auto-building latest-solid: :: -latest-solid :: :: auto-build a new .urb/put/somedesk.jam: -:: some-desk +desk %somedesk +:: +some-desk desk %somedesk :: :: see currently configured build tasks: :: ? @@ -82,7 +82,7 @@ %+ pick (cold [%see ~] wut) |^ ;~ pose - (stag %put ;~(plug sym ;~(pfix ace lus ;~(pose pil pro)))) + (stag %put ;~(plug (ifix [lus ace] sym) ;~(pose pil pro))) ;~(plug (cold %del hep) sym) ;~(plug (cold %run zap) sym) == @@ -140,8 +140,8 @@ ^- (list card) =- [%shoe [sole-id]~ %sole %mor -]~ ^- (list sole-effect:shoe) - :- [%txt "to add: task-name +type %args"] - :- [%txt " where +type is a pill type, or +desk"] + :- [%txt "to add: +task-name type %args"] + :- [%txt " where type is one of: solid, brass, ivory, desk"] :- [%txt "to del: -task-name"] :- [%txt "to run: !task-name"] ?: =(~ make) @@ -159,7 +159,9 @@ :: ?- -.task %ivory [base.task ~] - ?(%solid %brass) [base.task ' %' (join ' %' ~(tap in etc.task))] + ?(%solid %brass) :- base.task + ?: =(~ etc.task) ~ + [' %' (join ' %' ~(tap in etc.task))] %desk [desk.task ~] == == :: @@ -170,12 +172,17 @@ |=([next=(unit @da) =^task] [~ task]) ::TODO just poke hood instead? =; sag=sole-effect:shoe - [%shoe [sole]~ %sole %mor [[%txt "built {(trip name)}"] sag ~]]~ + :_ ~ + :+ %shoe [sole]~ + :+ %sole %mor + :~ [%txt "{(trip dap.bowl)} built {(trip name)}"] + sag + == |^ =* base base.task :+ %sag ?- -.task - ?(%solid %brass %ivory) /tasks/[name]/pill - %desk /tasks/[name]/jam + ?(%solid %brass %ivory) /[dap.bowl]/[name]/pill + %desk /[dap.bowl]/[name]/jam == ?- -.task %ivory (ivory:libpill (sys base)) From ba01f456a44bc6a054ba61173df53f6fe9db3a66 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 16 Dec 2021 17:33:48 +0100 Subject: [PATCH 19/44] autoprop: include tasks in wake failure print --- pkg/autoprop/app/autoprop.hoon | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/autoprop/app/autoprop.hoon b/pkg/autoprop/app/autoprop.hoon index af63edd19..b33353fa2 100644 --- a/pkg/autoprop/app/autoprop.hoon +++ b/pkg/autoprop/app/autoprop.hoon @@ -219,14 +219,16 @@ |= [=wire sign=sign-arvo] ^- (quip card _this) ?: ?=([%build ~] wire) + :: on-wake, build all tasks whose time has come + :: ?> ?=(%wake +<.sign) - ?^ error.sign - ((slog 'on-wake build failed' u.error.sign) ~ this) =/ tasks=(list @ta) %+ murn ~(tap by make) |= [name=@ta next=(unit @da) task] ?~ next ~ ?:((lte u.next now.bowl) (some name) ~) + ?^ error.sign + ((slog 'on-wake build failed' >tasks< u.error.sign) ~ this) :: =| cards=(list card) |- @@ -239,6 +241,7 @@ ?. ?=(%writ +<.sign) ~& [dap.bowl %unexpected-sign +<.sign] [~ this] + :: on-writ, bump build timers for all affected tasks :: =/ tasks=(list @ta) %+ murn ~(tap by make) From 4272013244516b9a04c8181bbfa313377f6be491 Mon Sep 17 00:00:00 2001 From: fang Date: Wed, 5 Jan 2022 00:49:28 +0100 Subject: [PATCH 20/44] autoprop: remove unused files from pkg/autoprop --- pkg/autoprop/lib/agentio.hoon | 1 - pkg/autoprop/lib/azimuth.hoon | 1 - pkg/autoprop/lib/azimuthio.hoon | 1 - pkg/autoprop/lib/bip/b158.hoon | 1 - pkg/autoprop/lib/bip/b173.hoon | 1 - pkg/autoprop/lib/bip/b174.hoon | 1 - pkg/autoprop/lib/bip32.hoon | 1 - pkg/autoprop/lib/bip39.hoon | 1 - pkg/autoprop/lib/bip39/english.hoon | 1 - pkg/autoprop/lib/bitcoin-utils.hoon | 1 - pkg/autoprop/lib/cram.hoon | 1 - pkg/autoprop/lib/der.hoon | 1 - pkg/autoprop/lib/ethereum.hoon | 1 - pkg/autoprop/lib/ethio.hoon | 1 - pkg/autoprop/lib/jose.hoon | 1 - pkg/autoprop/lib/keygen.hoon | 1 - pkg/autoprop/lib/language-server/build.hoon | 1 - pkg/autoprop/lib/language-server/easy-print.hoon | 1 - pkg/autoprop/lib/language-server/json.hoon | 1 - pkg/autoprop/lib/language-server/rune-snippet.hoon | 1 - pkg/autoprop/lib/ph/io.hoon | 1 - pkg/autoprop/lib/ph/util.hoon | 1 - pkg/autoprop/lib/pkcs.hoon | 1 - pkg/autoprop/lib/primitive-rsa.hoon | 1 - pkg/autoprop/lib/ring.hoon | 1 - pkg/autoprop/lib/server.hoon | 1 - pkg/autoprop/lib/strand.hoon | 1 - pkg/autoprop/lib/strandio.hoon | 1 - pkg/autoprop/lib/test.hoon | 1 - pkg/autoprop/mar/belt.hoon | 1 - pkg/autoprop/mar/blit.hoon | 1 - pkg/autoprop/mar/htm.hoon | 1 - pkg/autoprop/mar/html.hoon | 1 - pkg/autoprop/mar/httr.hoon | 1 - pkg/autoprop/mar/hymn.hoon | 1 - pkg/autoprop/mar/js.hoon | 1 - pkg/autoprop/mar/json.hoon | 1 - pkg/autoprop/mar/json/rpc/response.hoon | 1 - pkg/autoprop/mar/language-server/rpc/notification.hoon | 1 - pkg/autoprop/mar/language-server/rpc/request.hoon | 1 - pkg/autoprop/mar/language-server/rpc/response.hoon | 1 - pkg/autoprop/mar/path.hoon | 1 - pkg/autoprop/mar/png.hoon | 1 - pkg/autoprop/mar/purl.hoon | 1 - pkg/autoprop/mar/sole/action.hoon | 1 - pkg/autoprop/mar/sole/effect.hoon | 1 - pkg/autoprop/mar/svg.hoon | 1 - pkg/autoprop/mar/tang.hoon | 1 - pkg/autoprop/mar/tape.hoon | 1 - pkg/autoprop/mar/udon.hoon | 1 - pkg/autoprop/mar/umd.hoon | 1 - pkg/autoprop/mar/urb.hoon | 1 - pkg/autoprop/mar/urbit.hoon | 1 - pkg/autoprop/mar/woff2.hoon | 1 - pkg/autoprop/mar/xml.hoon | 1 - pkg/autoprop/sur/aquarium.hoon | 1 - pkg/autoprop/sur/asn1.hoon | 1 - pkg/autoprop/sur/bitcoin.hoon | 1 - pkg/autoprop/sur/hood.hoon | 1 - pkg/autoprop/sur/json/rpc.hoon | 1 - pkg/autoprop/sur/keygen.hoon | 1 - pkg/autoprop/sur/ring.hoon | 1 - pkg/autoprop/sur/spider.hoon | 1 - 63 files changed, 63 deletions(-) delete mode 120000 pkg/autoprop/lib/agentio.hoon delete mode 120000 pkg/autoprop/lib/azimuth.hoon delete mode 120000 pkg/autoprop/lib/azimuthio.hoon delete mode 120000 pkg/autoprop/lib/bip/b158.hoon delete mode 120000 pkg/autoprop/lib/bip/b173.hoon delete mode 120000 pkg/autoprop/lib/bip/b174.hoon delete mode 120000 pkg/autoprop/lib/bip32.hoon delete mode 120000 pkg/autoprop/lib/bip39.hoon delete mode 120000 pkg/autoprop/lib/bip39/english.hoon delete mode 120000 pkg/autoprop/lib/bitcoin-utils.hoon delete mode 120000 pkg/autoprop/lib/cram.hoon delete mode 120000 pkg/autoprop/lib/der.hoon delete mode 120000 pkg/autoprop/lib/ethereum.hoon delete mode 120000 pkg/autoprop/lib/ethio.hoon delete mode 120000 pkg/autoprop/lib/jose.hoon delete mode 120000 pkg/autoprop/lib/keygen.hoon delete mode 120000 pkg/autoprop/lib/language-server/build.hoon delete mode 120000 pkg/autoprop/lib/language-server/easy-print.hoon delete mode 120000 pkg/autoprop/lib/language-server/json.hoon delete mode 120000 pkg/autoprop/lib/language-server/rune-snippet.hoon delete mode 120000 pkg/autoprop/lib/ph/io.hoon delete mode 120000 pkg/autoprop/lib/ph/util.hoon delete mode 120000 pkg/autoprop/lib/pkcs.hoon delete mode 120000 pkg/autoprop/lib/primitive-rsa.hoon delete mode 120000 pkg/autoprop/lib/ring.hoon delete mode 120000 pkg/autoprop/lib/server.hoon delete mode 120000 pkg/autoprop/lib/strand.hoon delete mode 120000 pkg/autoprop/lib/strandio.hoon delete mode 120000 pkg/autoprop/lib/test.hoon delete mode 120000 pkg/autoprop/mar/belt.hoon delete mode 120000 pkg/autoprop/mar/blit.hoon delete mode 120000 pkg/autoprop/mar/htm.hoon delete mode 120000 pkg/autoprop/mar/html.hoon delete mode 120000 pkg/autoprop/mar/httr.hoon delete mode 120000 pkg/autoprop/mar/hymn.hoon delete mode 120000 pkg/autoprop/mar/js.hoon delete mode 120000 pkg/autoprop/mar/json.hoon delete mode 120000 pkg/autoprop/mar/json/rpc/response.hoon delete mode 120000 pkg/autoprop/mar/language-server/rpc/notification.hoon delete mode 120000 pkg/autoprop/mar/language-server/rpc/request.hoon delete mode 120000 pkg/autoprop/mar/language-server/rpc/response.hoon delete mode 120000 pkg/autoprop/mar/path.hoon delete mode 120000 pkg/autoprop/mar/png.hoon delete mode 120000 pkg/autoprop/mar/purl.hoon delete mode 120000 pkg/autoprop/mar/sole/action.hoon delete mode 120000 pkg/autoprop/mar/sole/effect.hoon delete mode 120000 pkg/autoprop/mar/svg.hoon delete mode 120000 pkg/autoprop/mar/tang.hoon delete mode 120000 pkg/autoprop/mar/tape.hoon delete mode 120000 pkg/autoprop/mar/udon.hoon delete mode 120000 pkg/autoprop/mar/umd.hoon delete mode 120000 pkg/autoprop/mar/urb.hoon delete mode 120000 pkg/autoprop/mar/urbit.hoon delete mode 120000 pkg/autoprop/mar/woff2.hoon delete mode 120000 pkg/autoprop/mar/xml.hoon delete mode 120000 pkg/autoprop/sur/aquarium.hoon delete mode 120000 pkg/autoprop/sur/asn1.hoon delete mode 120000 pkg/autoprop/sur/bitcoin.hoon delete mode 120000 pkg/autoprop/sur/hood.hoon delete mode 120000 pkg/autoprop/sur/json/rpc.hoon delete mode 120000 pkg/autoprop/sur/keygen.hoon delete mode 120000 pkg/autoprop/sur/ring.hoon delete mode 120000 pkg/autoprop/sur/spider.hoon diff --git a/pkg/autoprop/lib/agentio.hoon b/pkg/autoprop/lib/agentio.hoon deleted file mode 120000 index 959a49843..000000000 --- a/pkg/autoprop/lib/agentio.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/agentio.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/azimuth.hoon b/pkg/autoprop/lib/azimuth.hoon deleted file mode 120000 index 2bacb02b7..000000000 --- a/pkg/autoprop/lib/azimuth.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/azimuth.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/azimuthio.hoon b/pkg/autoprop/lib/azimuthio.hoon deleted file mode 120000 index 0b5df7063..000000000 --- a/pkg/autoprop/lib/azimuthio.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/azimuthio.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/bip/b158.hoon b/pkg/autoprop/lib/bip/b158.hoon deleted file mode 120000 index cba919a85..000000000 --- a/pkg/autoprop/lib/bip/b158.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/bip/b158.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/bip/b173.hoon b/pkg/autoprop/lib/bip/b173.hoon deleted file mode 120000 index 2999150e2..000000000 --- a/pkg/autoprop/lib/bip/b173.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/bip/b173.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/bip/b174.hoon b/pkg/autoprop/lib/bip/b174.hoon deleted file mode 120000 index bc6cae53b..000000000 --- a/pkg/autoprop/lib/bip/b174.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/bip/b174.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/bip32.hoon b/pkg/autoprop/lib/bip32.hoon deleted file mode 120000 index 1cbb7f892..000000000 --- a/pkg/autoprop/lib/bip32.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/bip32.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/bip39.hoon b/pkg/autoprop/lib/bip39.hoon deleted file mode 120000 index 36c4b7e83..000000000 --- a/pkg/autoprop/lib/bip39.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/bip39.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/bip39/english.hoon b/pkg/autoprop/lib/bip39/english.hoon deleted file mode 120000 index f1ea0fe31..000000000 --- a/pkg/autoprop/lib/bip39/english.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/bip39/english.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/bitcoin-utils.hoon b/pkg/autoprop/lib/bitcoin-utils.hoon deleted file mode 120000 index 7cc792906..000000000 --- a/pkg/autoprop/lib/bitcoin-utils.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/bitcoin-utils.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/cram.hoon b/pkg/autoprop/lib/cram.hoon deleted file mode 120000 index 4005e57ee..000000000 --- a/pkg/autoprop/lib/cram.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/cram.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/der.hoon b/pkg/autoprop/lib/der.hoon deleted file mode 120000 index 8446f8e92..000000000 --- a/pkg/autoprop/lib/der.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/der.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/ethereum.hoon b/pkg/autoprop/lib/ethereum.hoon deleted file mode 120000 index c0a2772eb..000000000 --- a/pkg/autoprop/lib/ethereum.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/ethereum.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/ethio.hoon b/pkg/autoprop/lib/ethio.hoon deleted file mode 120000 index 9c5b58148..000000000 --- a/pkg/autoprop/lib/ethio.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/ethio.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/jose.hoon b/pkg/autoprop/lib/jose.hoon deleted file mode 120000 index 6bff549ab..000000000 --- a/pkg/autoprop/lib/jose.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/jose.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/keygen.hoon b/pkg/autoprop/lib/keygen.hoon deleted file mode 120000 index 8557d0c52..000000000 --- a/pkg/autoprop/lib/keygen.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/keygen.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/language-server/build.hoon b/pkg/autoprop/lib/language-server/build.hoon deleted file mode 120000 index 749928056..000000000 --- a/pkg/autoprop/lib/language-server/build.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/language-server/build.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/language-server/easy-print.hoon b/pkg/autoprop/lib/language-server/easy-print.hoon deleted file mode 120000 index 2160e2f5a..000000000 --- a/pkg/autoprop/lib/language-server/easy-print.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/language-server/easy-print.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/language-server/json.hoon b/pkg/autoprop/lib/language-server/json.hoon deleted file mode 120000 index 96fe5b516..000000000 --- a/pkg/autoprop/lib/language-server/json.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/language-server/json.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/language-server/rune-snippet.hoon b/pkg/autoprop/lib/language-server/rune-snippet.hoon deleted file mode 120000 index 387505b59..000000000 --- a/pkg/autoprop/lib/language-server/rune-snippet.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/language-server/rune-snippet.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/ph/io.hoon b/pkg/autoprop/lib/ph/io.hoon deleted file mode 120000 index 9b660df8f..000000000 --- a/pkg/autoprop/lib/ph/io.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/ph/io.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/ph/util.hoon b/pkg/autoprop/lib/ph/util.hoon deleted file mode 120000 index ec423efc0..000000000 --- a/pkg/autoprop/lib/ph/util.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/lib/ph/util.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/pkcs.hoon b/pkg/autoprop/lib/pkcs.hoon deleted file mode 120000 index d7a2ab46f..000000000 --- a/pkg/autoprop/lib/pkcs.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/pkcs.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/primitive-rsa.hoon b/pkg/autoprop/lib/primitive-rsa.hoon deleted file mode 120000 index f9dde2d95..000000000 --- a/pkg/autoprop/lib/primitive-rsa.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/primitive-rsa.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/ring.hoon b/pkg/autoprop/lib/ring.hoon deleted file mode 120000 index e5e819947..000000000 --- a/pkg/autoprop/lib/ring.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/ring.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/server.hoon b/pkg/autoprop/lib/server.hoon deleted file mode 120000 index 6176cfc00..000000000 --- a/pkg/autoprop/lib/server.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/server.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/strand.hoon b/pkg/autoprop/lib/strand.hoon deleted file mode 120000 index d95df7948..000000000 --- a/pkg/autoprop/lib/strand.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/strand.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/strandio.hoon b/pkg/autoprop/lib/strandio.hoon deleted file mode 120000 index 0caebfac1..000000000 --- a/pkg/autoprop/lib/strandio.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/strandio.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/test.hoon b/pkg/autoprop/lib/test.hoon deleted file mode 120000 index cc50ce7cf..000000000 --- a/pkg/autoprop/lib/test.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/lib/test.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/belt.hoon b/pkg/autoprop/mar/belt.hoon deleted file mode 120000 index 0c8999932..000000000 --- a/pkg/autoprop/mar/belt.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/belt.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/blit.hoon b/pkg/autoprop/mar/blit.hoon deleted file mode 120000 index 3ea8dc943..000000000 --- a/pkg/autoprop/mar/blit.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/blit.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/htm.hoon b/pkg/autoprop/mar/htm.hoon deleted file mode 120000 index d29e24bac..000000000 --- a/pkg/autoprop/mar/htm.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/htm.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/html.hoon b/pkg/autoprop/mar/html.hoon deleted file mode 120000 index 14a5f8f7b..000000000 --- a/pkg/autoprop/mar/html.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/html.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/httr.hoon b/pkg/autoprop/mar/httr.hoon deleted file mode 120000 index 572665778..000000000 --- a/pkg/autoprop/mar/httr.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/httr.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/hymn.hoon b/pkg/autoprop/mar/hymn.hoon deleted file mode 120000 index 905156749..000000000 --- a/pkg/autoprop/mar/hymn.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/hymn.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/js.hoon b/pkg/autoprop/mar/js.hoon deleted file mode 120000 index 00189f4c6..000000000 --- a/pkg/autoprop/mar/js.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/js.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/json.hoon b/pkg/autoprop/mar/json.hoon deleted file mode 120000 index e77f85d05..000000000 --- a/pkg/autoprop/mar/json.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/json.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/json/rpc/response.hoon b/pkg/autoprop/mar/json/rpc/response.hoon deleted file mode 120000 index 52c97c864..000000000 --- a/pkg/autoprop/mar/json/rpc/response.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../../base-dev/mar/json/rpc/response.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/language-server/rpc/notification.hoon b/pkg/autoprop/mar/language-server/rpc/notification.hoon deleted file mode 120000 index b95e54c35..000000000 --- a/pkg/autoprop/mar/language-server/rpc/notification.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../../base-dev/mar/language-server/rpc/notification.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/language-server/rpc/request.hoon b/pkg/autoprop/mar/language-server/rpc/request.hoon deleted file mode 120000 index 26203cf5b..000000000 --- a/pkg/autoprop/mar/language-server/rpc/request.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../../base-dev/mar/language-server/rpc/request.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/language-server/rpc/response.hoon b/pkg/autoprop/mar/language-server/rpc/response.hoon deleted file mode 120000 index 9dddb2cef..000000000 --- a/pkg/autoprop/mar/language-server/rpc/response.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../../base-dev/mar/language-server/rpc/response.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/path.hoon b/pkg/autoprop/mar/path.hoon deleted file mode 120000 index c07b00064..000000000 --- a/pkg/autoprop/mar/path.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/path.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/png.hoon b/pkg/autoprop/mar/png.hoon deleted file mode 120000 index c2d8cf9fa..000000000 --- a/pkg/autoprop/mar/png.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/png.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/purl.hoon b/pkg/autoprop/mar/purl.hoon deleted file mode 120000 index d0d2cc0de..000000000 --- a/pkg/autoprop/mar/purl.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/purl.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/sole/action.hoon b/pkg/autoprop/mar/sole/action.hoon deleted file mode 120000 index b349bd771..000000000 --- a/pkg/autoprop/mar/sole/action.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/mar/sole/action.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/sole/effect.hoon b/pkg/autoprop/mar/sole/effect.hoon deleted file mode 120000 index bc11205c0..000000000 --- a/pkg/autoprop/mar/sole/effect.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/mar/sole/effect.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/svg.hoon b/pkg/autoprop/mar/svg.hoon deleted file mode 120000 index 2b406c2ac..000000000 --- a/pkg/autoprop/mar/svg.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/svg.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/tang.hoon b/pkg/autoprop/mar/tang.hoon deleted file mode 120000 index 9206e52b2..000000000 --- a/pkg/autoprop/mar/tang.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/tang.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/tape.hoon b/pkg/autoprop/mar/tape.hoon deleted file mode 120000 index be51fcb2d..000000000 --- a/pkg/autoprop/mar/tape.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/tape.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/udon.hoon b/pkg/autoprop/mar/udon.hoon deleted file mode 120000 index 215e0ada9..000000000 --- a/pkg/autoprop/mar/udon.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/udon.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/umd.hoon b/pkg/autoprop/mar/umd.hoon deleted file mode 120000 index 9b827a24d..000000000 --- a/pkg/autoprop/mar/umd.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/umd.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/urb.hoon b/pkg/autoprop/mar/urb.hoon deleted file mode 120000 index 2d8112d1d..000000000 --- a/pkg/autoprop/mar/urb.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/urb.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/urbit.hoon b/pkg/autoprop/mar/urbit.hoon deleted file mode 120000 index 70a62a723..000000000 --- a/pkg/autoprop/mar/urbit.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/urbit.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/woff2.hoon b/pkg/autoprop/mar/woff2.hoon deleted file mode 120000 index beaf4875c..000000000 --- a/pkg/autoprop/mar/woff2.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/woff2.hoon \ No newline at end of file diff --git a/pkg/autoprop/mar/xml.hoon b/pkg/autoprop/mar/xml.hoon deleted file mode 120000 index e6323e215..000000000 --- a/pkg/autoprop/mar/xml.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/mar/xml.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/aquarium.hoon b/pkg/autoprop/sur/aquarium.hoon deleted file mode 120000 index 1195b2c62..000000000 --- a/pkg/autoprop/sur/aquarium.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/sur/aquarium.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/asn1.hoon b/pkg/autoprop/sur/asn1.hoon deleted file mode 120000 index 7888cada0..000000000 --- a/pkg/autoprop/sur/asn1.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/sur/asn1.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/bitcoin.hoon b/pkg/autoprop/sur/bitcoin.hoon deleted file mode 120000 index d72c2c830..000000000 --- a/pkg/autoprop/sur/bitcoin.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/sur/bitcoin.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/hood.hoon b/pkg/autoprop/sur/hood.hoon deleted file mode 120000 index b212f501e..000000000 --- a/pkg/autoprop/sur/hood.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/sur/hood.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/json/rpc.hoon b/pkg/autoprop/sur/json/rpc.hoon deleted file mode 120000 index e499542f6..000000000 --- a/pkg/autoprop/sur/json/rpc.hoon +++ /dev/null @@ -1 +0,0 @@ -../../../base-dev/sur/json/rpc.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/keygen.hoon b/pkg/autoprop/sur/keygen.hoon deleted file mode 120000 index 99bcd5fc8..000000000 --- a/pkg/autoprop/sur/keygen.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/sur/keygen.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/ring.hoon b/pkg/autoprop/sur/ring.hoon deleted file mode 120000 index 633c96332..000000000 --- a/pkg/autoprop/sur/ring.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/sur/ring.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/spider.hoon b/pkg/autoprop/sur/spider.hoon deleted file mode 120000 index 12ae2c187..000000000 --- a/pkg/autoprop/sur/spider.hoon +++ /dev/null @@ -1 +0,0 @@ -../../base-dev/sur/spider.hoon \ No newline at end of file From 8cfc9b5dfc0ce2cd2bedfbb151568730b1cde5b2 Mon Sep 17 00:00:00 2001 From: fang Date: Thu, 3 Feb 2022 16:59:24 +0100 Subject: [PATCH 21/44] prop: rename prop tiers for style --- pkg/base-dev/lib/pill.hoon | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/base-dev/lib/pill.hoon b/pkg/base-dev/lib/pill.hoon index b04b859f9..224fe5a99 100644 --- a/pkg/base-dev/lib/pill.hoon +++ b/pkg/base-dev/lib/pill.hoon @@ -346,12 +346,12 @@ |% +$ prop [%prop meta tier (list ovum)] +$ meta term - +$ tier ?(%pre-userspace %post-userspace) + +$ tier ?(%fore %hind) :: before or after userspace :: ++ install |= [as=desk =beak pri=?] ^- prop - :^ %prop %install %post-userspace + :^ %prop %install %hind ::TODO will exclude non-:directories files, such as /changelog/txt =- (murn - same) ^- (list (unit ovum)) From 5a90d9bdd9ae9ee232b86dddc51548ce356a778a Mon Sep 17 00:00:00 2001 From: fang Date: Tue, 8 Feb 2022 22:10:57 +0100 Subject: [PATCH 22/44] autoprop: include desk name in install prop meta --- pkg/base-dev/lib/pill.hoon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/base-dev/lib/pill.hoon b/pkg/base-dev/lib/pill.hoon index 224fe5a99..6bd5d61ba 100644 --- a/pkg/base-dev/lib/pill.hoon +++ b/pkg/base-dev/lib/pill.hoon @@ -351,7 +351,7 @@ ++ install |= [as=desk =beak pri=?] ^- prop - :^ %prop %install %hind + :^ %prop (rap 3 %install '-' as ~) %hind ::TODO will exclude non-:directories files, such as /changelog/txt =- (murn - same) ^- (list (unit ovum)) From c61a9f8bd7ea79e13ed1d0e9d12ad4e69e4c523c Mon Sep 17 00:00:00 2001 From: fang Date: Mon, 23 Jan 2023 21:10:28 +0100 Subject: [PATCH 23/44] clay: update %prep task for pages instead of blobs --- pkg/arvo/sys/lull.hoon | 2 +- pkg/arvo/sys/vane/clay.hoon | 6 +++--- pkg/base-dev/lib/pill.hoon | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index b9c5dffa9..470894566 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -786,7 +786,7 @@ [%park des=desk yok=yoki ran=rang] :: synchronous commit [%perm des=desk pax=path rit=rite] :: change permissions [%pork ~] :: resume commit - [%prep lat=(map lobe blob)] :: prime blob store + [%prep lat=(map lobe page)] :: prime clay store [%rein des=desk ren=rein] :: extra apps [%stir arg=*] :: debug [%tire p=(unit ~)] :: app state subscribe diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index d753900e2..abafa0d3c 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4212,12 +4212,12 @@ ^- (unit (unit cage)) ?: ?=([%bloc ~] pax) :^ ~ ~ %noun - :- -:!>(*(map lobe blob)) - ^- (map lobe blob) + :- -:!>(*(map lobe page)) + ^- (map lobe page) %- %~ rep in %- reachable-takos (~(got by hit.dom) let.dom) - |= [t=tako o=(map lobe blob)] + |= [t=tako o=(map lobe page)] %- ~(gas by o) %+ turn ~(val by q:(~(got by hut.ran) t)) diff --git a/pkg/base-dev/lib/pill.hoon b/pkg/base-dev/lib/pill.hoon index 6bd5d61ba..4b07f57c6 100644 --- a/pkg/base-dev/lib/pill.hoon +++ b/pkg/base-dev/lib/pill.hoon @@ -107,7 +107,7 @@ =- ~& clay-blobs+~(wyt by -) [/c/inflate [%prep -]] %+ roll dez - |= [bas=path out=(map lobe:clay blob:clay)] + |= [bas=path out=(map lobe:clay page:clay)] %- ~(uni by out) .^(_out %cs (snoc bas %bloc)) :: From 9308ad9960ddd3d98200ca2e34e9d7a82ad0847e Mon Sep 17 00:00:00 2001 From: fang Date: Mon, 23 Jan 2023 21:27:55 +0100 Subject: [PATCH 24/44] autoprop: update for new sole protocol --- pkg/autoprop/app/autoprop.hoon | 10 ++++++---- pkg/autoprop/sys.kelvin | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/autoprop/app/autoprop.hoon b/pkg/autoprop/app/autoprop.hoon index b33353fa2..fb2a4f50c 100644 --- a/pkg/autoprop/app/autoprop.hoon +++ b/pkg/autoprop/app/autoprop.hoon @@ -24,9 +24,11 @@ $: %0 make=(map @ta [next=(unit @da) =task]) :: things to make hear=(set desk) :: observed desks - sole=@ta :: the way out + sole=sole-id :: the way out == :: ++$ sole-id sole-id:sole:shoe +:: +$ task $% pill prop @@ -77,7 +79,7 @@ [~ this(state !<(state-0 old))] :: ++ command-parser - |= sole-id=@ta + |= =sole-id ^+ |~(nail *(like [? command])) %+ pick (cold [%see ~] wut) @@ -111,7 +113,7 @@ -- :: ++ on-command - |= [sole-id=@ta =command] + |= [=sole-id =command] ^- (quip card _this) ?- -.command %put @@ -274,7 +276,7 @@ == :: ++ on-connect - |= sole-id=@ta + |= =sole-id ^- (quip card _this) ::TODO actually should just poke drum to write [~ this(sole sole-id)] diff --git a/pkg/autoprop/sys.kelvin b/pkg/autoprop/sys.kelvin index e68acb6a4..5bd0cc68f 100644 --- a/pkg/autoprop/sys.kelvin +++ b/pkg/autoprop/sys.kelvin @@ -1 +1 @@ -[%zuse 419] +[%zuse 415] From 23f2b9cb4d75134a81afdafa2e528cd396b14084 Mon Sep 17 00:00:00 2001 From: fang Date: Mon, 23 Jan 2023 21:28:27 +0100 Subject: [PATCH 25/44] autoprop: include missing dependencies --- pkg/autoprop/lib/dice.hoon | 1 + pkg/autoprop/lib/ethereum.hoon | 1 + pkg/autoprop/lib/naive.hoon | 1 + pkg/autoprop/lib/tiny.hoon | 1 + pkg/autoprop/sur/dice.hoon | 1 + 5 files changed, 5 insertions(+) create mode 120000 pkg/autoprop/lib/dice.hoon create mode 120000 pkg/autoprop/lib/ethereum.hoon create mode 120000 pkg/autoprop/lib/naive.hoon create mode 120000 pkg/autoprop/lib/tiny.hoon create mode 120000 pkg/autoprop/sur/dice.hoon diff --git a/pkg/autoprop/lib/dice.hoon b/pkg/autoprop/lib/dice.hoon new file mode 120000 index 000000000..60d435d3a --- /dev/null +++ b/pkg/autoprop/lib/dice.hoon @@ -0,0 +1 @@ +../../arvo/lib/dice.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/ethereum.hoon b/pkg/autoprop/lib/ethereum.hoon new file mode 120000 index 000000000..96b5f11e6 --- /dev/null +++ b/pkg/autoprop/lib/ethereum.hoon @@ -0,0 +1 @@ +../../arvo/lib/ethereum.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/naive.hoon b/pkg/autoprop/lib/naive.hoon new file mode 120000 index 000000000..f2d1d3a91 --- /dev/null +++ b/pkg/autoprop/lib/naive.hoon @@ -0,0 +1 @@ +../../arvo/lib/naive.hoon \ No newline at end of file diff --git a/pkg/autoprop/lib/tiny.hoon b/pkg/autoprop/lib/tiny.hoon new file mode 120000 index 000000000..1d319d209 --- /dev/null +++ b/pkg/autoprop/lib/tiny.hoon @@ -0,0 +1 @@ +../../arvo/lib/tiny.hoon \ No newline at end of file diff --git a/pkg/autoprop/sur/dice.hoon b/pkg/autoprop/sur/dice.hoon new file mode 120000 index 000000000..454af0e29 --- /dev/null +++ b/pkg/autoprop/sur/dice.hoon @@ -0,0 +1 @@ +../../arvo/sur/dice.hoon \ No newline at end of file From 34fd6c854a38bc06c8c159d8690ce2d53ba8cfce Mon Sep 17 00:00:00 2001 From: fang Date: Wed, 23 Mar 2022 23:17:25 +0100 Subject: [PATCH 26/44] autoprop: auto-republish props for new runtime Checks to see if we've changed the runtime version. If we have, publish all the props at that new runtime version. --- pkg/autoprop/app/autoprop.hoon | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/pkg/autoprop/app/autoprop.hoon b/pkg/autoprop/app/autoprop.hoon index fb2a4f50c..0cfaf11ce 100644 --- a/pkg/autoprop/app/autoprop.hoon +++ b/pkg/autoprop/app/autoprop.hoon @@ -24,6 +24,7 @@ $: %0 make=(map @ta [next=(unit @da) =task]) :: things to make hear=(set desk) :: observed desks + vers=path :: runtime version sole=sole-id :: the way out == :: @@ -67,10 +68,12 @@ +* this . def ~(. (default-agent this %|) bowl) des ~(. (default:shoe this command) bowl) + rev rev:.^(vere %$ /(scot %p our.bowl)//(scot %da now.bowl)/zen/ver) :: ++ on-init ^- (quip card _this) - [~ this] + :_ this(vers rev) + [%pass /vers %arvo %b %wait (add now.bowl ~m5)]~ :: ++ on-save !>(state) ++ on-load @@ -182,6 +185,11 @@ == |^ =* base base.task :+ %sag + =/ ver=@ta + =+ rev=rev + ?. ?=([%vere @ ~] rev) + (rap 3 (join '-' rev)) + (fall (slaw %ta i.t.rev) i.t.rev) ?- -.task ?(%solid %brass %ivory) /[dap.bowl]/[name]/pill %desk /[dap.bowl]/[name]/jam @@ -238,6 +246,23 @@ =^ caz this (on-command sole %run i.tasks) $(tasks t.tasks, cards (weld cards caz)) :: + ?: ?=([%vers ~] wire) + :: on-wake, republish props if we're on a new runtime + :: + ?> ?=(%wake +<.sign) + =/ next=card + [%pass /vers %arvo %b %wait (add now.bowl ~m5)] + ?^ error.sign + %- (slog 'on-wake vers failed' u.error.sign) + [[next]~ this] + ?: =(rev vers) [[next]~ this] + =/ tasks=(list @ta) ~(tap in ~(key by make)) + =| cards=(list card) + |- + ?~ tasks [[next cards] this] + =^ caz this (on-command sole %run i.tasks) + $(tasks t.tasks, cards (weld cards caz)) + :: ?> ?=([%desk @ ~] wire) =* desk i.t.wire ?. ?=(%writ +<.sign) From 28d1e35774afdfc6c70b7f2e3128cc24db38aa2a Mon Sep 17 00:00:00 2001 From: fang Date: Wed, 23 Mar 2022 22:56:20 +0100 Subject: [PATCH 27/44] autoprop: write props into runtime version folder For vere, we try to put it into a folder whose name is just the vere version number. For other runtimes, we cat the whole version string together. --- pkg/autoprop/app/autoprop.hoon | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/autoprop/app/autoprop.hoon b/pkg/autoprop/app/autoprop.hoon index 0cfaf11ce..a1da6dee2 100644 --- a/pkg/autoprop/app/autoprop.hoon +++ b/pkg/autoprop/app/autoprop.hoon @@ -186,13 +186,13 @@ |^ =* base base.task :+ %sag =/ ver=@ta - =+ rev=rev + =+ .^(vere %$ /(scot %p our.bowl)//(scot %da now.bowl)/zen/ver) ?. ?=([%vere @ ~] rev) (rap 3 (join '-' rev)) (fall (slaw %ta i.t.rev) i.t.rev) ?- -.task - ?(%solid %brass %ivory) /[dap.bowl]/[name]/pill - %desk /[dap.bowl]/[name]/jam + ?(%solid %brass %ivory) /[dap.bowl]/[ver]/[name]/pill + %desk /[dap.bowl]/[ver]/[name]/jam == ?- -.task %ivory (ivory:libpill (sys base)) From 8609599035f4e447f025ab06db053ed3eba0d3ac Mon Sep 17 00:00:00 2001 From: Philip Monk Date: Tue, 24 Jan 2023 13:07:19 -0700 Subject: [PATCH 28/44] ames: put "is ok"/"not responding" behind |ames-verb Fixes #6245 --- pkg/arvo/sys/lull.hoon | 2 +- pkg/arvo/sys/vane/ames.hoon | 96 +++++++++++++++++++++++++++++-------- 2 files changed, 76 insertions(+), 22 deletions(-) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 9bca8c59b..c5fcd71dc 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -436,7 +436,7 @@ +$ address @uxaddress :: $verb: verbosity flag for ames :: - +$ verb ?(%snd %rcv %odd %msg %ges %for %rot) + +$ verb ?(%snd %rcv %odd %msg %ges %for %rot %kay) :: $blob: raw atom to or from unix, representing a packet :: +$ blob @uxblob diff --git a/pkg/arvo/sys/vane/ames.hoon b/pkg/arvo/sys/vane/ames.hoon index 41b64dd71..7404aaa18 100644 --- a/pkg/arvo/sys/vane/ames.hoon +++ b/pkg/arvo/sys/vane/ames.hoon @@ -102,6 +102,7 @@ ges=`?`%.n :: congestion control for=`?`%.n :: packet forwarding rot=`?`%.n :: routing attempts + kay=`?`%.n :: is ok/not responding == => ~% %ames ..part ~ @@ -121,14 +122,14 @@ :: +qos-update-text: notice text for if connection state changes :: ++ qos-update-text - |= [=ship old=qos new=qos] + |= [=ship old=qos new=qos k=? ships=(set ship)] ^- (unit tape) :: ?+ [-.old -.new] ~ [%unborn %live] `"; {(scow %p ship)} is your neighbor" - [%dead %live] `"; {(scow %p ship)} is ok" - [%live %dead] `"; {(scow %p ship)} not responding still trying" - [%unborn %dead] `"; {(scow %p ship)} not responding still trying" + [%dead %live] ((trace k ship ships |.("is ok")) ~) + [%live %dead] ((trace k ship ships |.("not responding still trying")) ~) + [%unborn %dead] ((trace k ship ships |.("not responding still trying")) ~) [%live %unborn] `"; {(scow %p ship)} has sunk" [%dead %unborn] `"; {(scow %p ship)} has sunk" == @@ -627,7 +628,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ship-state-4 ship-state-5 @@ -656,7 +657,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ship-state-6 @@ -685,7 +686,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ames-state-8 @@ -693,11 +694,25 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 corks=(set wire) == :: - ++$ bug-9 + $: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n] + ships=(set ship) + == +:: ++$ ames-state-9 + $: peers=(map ship ship-state) + =unix=duct + =life + crypto-core=acru:ames + bug=bug-9 + corks=(set wire) + snub=(set ship) + == +:: :: $bug: debug printing configuration :: :: veb: verbosity toggles @@ -860,7 +875,8 @@ [%6 ames-state-6] [%7 ames-state-7] [%8 ames-state-8] - [%9 ^ames-state] + [%9 ames-state-9] + [%10 ^ames-state] == :: |= [now=@da eny=@ rof=roof] @@ -983,7 +999,7 @@ :: lifecycle arms; mostly pass-throughs to the contained adult ames :: ++ scry scry:adult-core - ++ stay [%9 %larva queued-events ames-state.adult-gate] + ++ stay [%10 %larva queued-events ames-state.adult-gate] ++ load |= $= old $% $: %4 @@ -1020,8 +1036,15 @@ state=ames-state-8 == [%adult state=ames-state-8] - == == + == == $: %9 + $% $: %larva + events=(qeu queued-event) + state=ames-state-9 + == + [%adult state=ames-state-9] + == == + $: %10 $% $: %larva events=(qeu queued-event) state=_ames-state.adult-gate @@ -1076,12 +1099,22 @@ =. queued-events events.old larval-gate :: - [%9 %adult *] (load:adult-core %9 state.old) + [%9 %adult *] + =. cached-state `[%9 state.old] + ~> %slog.0^leaf/"ames: larva reload" + larval-gate :: [%9 %larva *] + ~> %slog.0^leaf/"ames: larva: load" + =. queued-events events.old + larval-gate + :: + [%10 %adult *] (load:adult-core %10 state.old) + :: + [%10 %larva *] ~> %slog.1^leaf/"ames: larva: load" =. queued-events events.old - =. adult-gate (load:adult-core %9 state.old) + =. adult-gate (load:adult-core %10 state.old) larval-gate :: == @@ -1102,7 +1135,9 @@ 8+(state-7-to-8:load:adult-core +.u.cached-state) =? u.cached-state ?=(%8 -.u.cached-state) 9+(state-8-to-9:load:adult-core +.u.cached-state) - ?> ?=(%9 -.u.cached-state) + =? u.cached-state ?=(%9 -.u.cached-state) + 10+(state-9-to-10:load:adult-core +.u.cached-state) + ?> ?=(%10 -.u.cached-state) =. ames-state.adult-gate +.u.cached-state [moz larval-core(cached-state ~)] -- @@ -1178,15 +1213,15 @@ [moves ames-gate] :: +stay: extract state before reload :: -++ stay [%9 %adult ames-state] +++ stay [%10 %adult ames-state] :: +load: load in old state after reload :: ++ load =< |= $= old-state - $% [%9 ^ames-state] + $% [%10 ^ames-state] == ^+ ames-gate - ?> ?=(%9 -.old-state) + ?> ?=(%10 -.old-state) ames-gate(ames-state +.old-state) :: |% @@ -1260,7 +1295,7 @@ == ++ state-8-to-9 |= ames-state=ames-state-8 - ^- ^^ames-state + ^- ames-state-9 :* peers.ames-state unix-duct.ames-state life.ames-state @@ -1269,6 +1304,19 @@ corks.ames-state *(set ship) == + ++ state-9-to-10 + |= ames-state=ames-state-9 + ^- ^^ames-state + :* peers.ames-state + unix-duct.ames-state + life.ames-state + crypto-core.ames-state + %= bug.ames-state + veb [&1 &2 &3 &4 &5 &6 |6 %.n]:veb.bug.ames-state + == + corks.ames-state + snub.ames-state + == -- :: +scry: dereference namespace :: @@ -1507,6 +1555,7 @@ %ges acc(ges %.y) %for acc(for %.y) %rot acc(rot %.y) + %kay acc(kay %.y) == event-core :: +on-prod: re-send a packet per flow to each of .ships @@ -2016,7 +2065,9 @@ =. +.peer-state +:*^peer-state :: print change to quality of service, if any :: - =/ text=(unit tape) (qos-update-text ship old-qos qos.peer-state) + =/ text=(unit tape) + %^ qos-update-text ship old-qos + [qos.peer-state kay.veb ships.bug.ames-state] :: =? event-core ?=(^ text) (emit duct %pass /qos %d %flog %text u.text) @@ -2421,7 +2472,10 @@ =^ old-qos qos.peer-state [qos.peer-state new-qos] :: if no update worth reporting, we're done :: - ?~ text=(qos-update-text her.channel old-qos new-qos) + =/ text + %^ qos-update-text her.channel old-qos + [new-qos kay.veb ships.bug.ames-state] + ?~ text peer-core :: print message :: From bd4e093adac8a4a2d43a5622c87ae449e183229f Mon Sep 17 00:00:00 2001 From: Philip Monk Date: Tue, 24 Jan 2023 15:49:43 -0700 Subject: [PATCH 29/44] kiln: keep %kids desk in sync after kelvin update This is the fourth option described in #6244. Fixes #6244 --- pkg/arvo/lib/hood/kiln.hoon | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/arvo/lib/hood/kiln.hoon b/pkg/arvo/lib/hood/kiln.hoon index 705f961a9..c8ff3a245 100644 --- a/pkg/arvo/lib/hood/kiln.hoon +++ b/pkg/arvo/lib/hood/kiln.hoon @@ -1160,8 +1160,15 @@ :: If nothing changed, just advance :: ?. (get-remote-diff our syd now [her sud (dec let)]) - ~> %slog.(fmt "remote is identical to {here}, skipping") - next + =< next + ?~ kid + ~> %slog.(fmt "remote is identical to {here}, skipping") + ..abet + ?. (get-remote-diff our u.kid now [her sud (dec let)]) + ~> %slog.(fmt "remote is identical to {here}, skipping") + ..abet + ~> %slog.(fmt "remote is identical to {here}, merging into {}") + (merg /kids u.kid) :: Else start merging, but also immediately start listening to :: the next revision. Now, all errors should no-op -- we're :: already waiting for the next revision. @@ -1188,7 +1195,7 @@ :: ?~ kid ..abet - ~> %slog.(fmt "kids merge into {}") + ~> %slog.(fmt "kids merge into {}") (merg /kids u.kid) :: %kids From 6cd9fa56ae5f041d991f51515e3ea62b9d37c787 Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Tue, 24 Jan 2023 16:00:35 -0800 Subject: [PATCH 30/44] Revert "Merge pull request #6199 from urbit/philip/install-once" This reverts commit 427e219b5be9881832618dcfd6046acd8839b131, reversing changes made to 86cf63986b87cd9bcaeb4bc449c24ae0091a18c9. --- pkg/arvo/gen/hood/install.hoon | 4 ++-- pkg/arvo/lib/hood/kiln.hoon | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/arvo/gen/hood/install.hoon b/pkg/arvo/gen/hood/install.hoon index 723d02a6d..c243cf90a 100644 --- a/pkg/arvo/gen/hood/install.hoon +++ b/pkg/arvo/gen/hood/install.hoon @@ -8,7 +8,7 @@ :: :- %say |= $: [now=@da eny=@uvJ bec=beak] - [[her=@p rem=desk ~] local=@tas once=_|] + [[her=@p rem=desk ~] local=@tas] == =/ loc=desk ?:(=(%$ local) rem local) -[%kiln-install loc her rem once] +[%kiln-install loc her rem] diff --git a/pkg/arvo/lib/hood/kiln.hoon b/pkg/arvo/lib/hood/kiln.hoon index 705f961a9..80c5db06c 100644 --- a/pkg/arvo/lib/hood/kiln.hoon +++ b/pkg/arvo/lib/hood/kiln.hoon @@ -687,7 +687,7 @@ abet:(emit:(spam leaf+mez ~) %pass /kiln %arvo %c [%info u.tor]) :: ++ poke-install - |= [loc=desk her=ship rem=desk once=?] + |= [loc=desk her=ship rem=desk] =+ .^(=rock:tire %cx /(scot %p our)//(scot %da now)/tire) =/ =zest ?~ got=(~(get by rock) loc) @@ -703,8 +703,6 @@ abet:(spam (render "already syncing" loc her rem ~) ~) ?: =([our loc] [her rem]) abet - ?: once - abet:abet:(merge:(work loc) her rem da+now %only-that) =/ sun (sync loc her rem) ~> %slog.(fmt "beginning install into {here:sun}") =< abet:abet:init From 9255faf1130064c35455d3916b5647278ddeb86d Mon Sep 17 00:00:00 2001 From: Tinnus Napbus Date: Wed, 25 Jan 2023 21:34:32 +1300 Subject: [PATCH 31/44] acme: comment clarification re: ports --- pkg/arvo/app/acme.hoon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/arvo/app/acme.hoon b/pkg/arvo/app/acme.hoon index c92b46b8a..17ca28d3f 100644 --- a/pkg/arvo/app/acme.hoon +++ b/pkg/arvo/app/acme.hoon @@ -584,7 +584,7 @@ ~| [%no-next-domain idx=idx] (head (skim pending |=([turf idx=@ud ?] =(idx ^idx)))) :: XX should confirm that :turf points to us - :: confirms that domain exists + :: confirms that domain exists (and an urbit is on the standard port) :: =/ sec=? p:.^(hart:eyre %e /(scot %p our.bow)/host/(scot %da now.bow)) =/ =purl From d328c7ad8c1577b80c67a3b462f75107485b36ec Mon Sep 17 00:00:00 2001 From: Philip Monk Date: Thu, 26 Jan 2023 14:55:15 -0700 Subject: [PATCH 32/44] kiln: update comment --- pkg/arvo/lib/hood/kiln.hoon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/arvo/lib/hood/kiln.hoon b/pkg/arvo/lib/hood/kiln.hoon index c8ff3a245..63f423bb6 100644 --- a/pkg/arvo/lib/hood/kiln.hoon +++ b/pkg/arvo/lib/hood/kiln.hoon @@ -1157,7 +1157,7 @@ :: ~> %slog.(fmt "finished downloading update for {here}") =. let +(let) - :: If nothing changed, just advance + :: If nothing changed, just ensure %kids is up-to-date and advance :: ?. (get-remote-diff our syd now [her sud (dec let)]) =< next From 9e9fdeb2c6db6452a74a61de693b11e6aeb5a6e3 Mon Sep 17 00:00:00 2001 From: dachus Date: Thu, 26 Jan 2023 16:55:23 -0600 Subject: [PATCH 33/44] flow scry added, moved to lull --- pkg/arvo/sys/lull.hoon | 43 ++++++++++++++++++++++++++++++++ pkg/arvo/sys/vane/clay.hoon | 49 +------------------------------------ 2 files changed, 44 insertions(+), 48 deletions(-) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 9bca8c59b..3f1d1ab0e 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -885,6 +885,17 @@ +$ norm (axal ?) :: tombstone policy +$ open $-(path vase) :: get prelude +$ page ^page :: export for compat + +$ pour :: ford build w/content + $% [%file =path] + [%nave =mark] + [%dais =mark] + [%cast =mars] + [%tube =mars] + :: leafs + :: + [%vale =path =lobe] + [%arch =path =(map path lobe)] + == +$ rang :: repository $: hut=(map tako yaki) :: changes lat=(map lobe page) :: data @@ -919,6 +930,13 @@ +$ rule [mod=?(%black %white) who=(set whom)] :: node permission +$ rump [p=care q=case r=@tas s=path] :: relative path +$ saba [p=ship q=@tas r=moar s=dome] :: patch+merge + +$ soak :: ford result + $% [%cage =cage] + [%vase =vase] + [%arch dir=(map @ta vase)] + [%dais =dais] + [%tube =tube] + == +$ soba (list [p=path q=miso]) :: delta +$ suba (list [p=path q=misu]) :: delta +$ tako @uvI :: yaki ref @@ -1058,6 +1076,31 @@ %^ cat 7 (sham [%yaki (roll p add) q t]) (sham [%tako (roll p add) q t]) [p q has t] + :: + :: $leak: ford cache key + :: + :: This includes all build inputs, including transitive dependencies, + :: recursively. + :: + +$ leak + $~ [*pour ~] + $: =pour + deps=(set leak) + == + :: + :: $flow: global ford cache + :: + :: Refcount includes references from other items in the cache, and + :: from spills in each desk + :: + :: This is optimized for minimizing the number of rebuilds, and given + :: that, minimizing the amount of memory used. It is relatively slow + :: to lookup, because generating a cache key can be fairly slow (for + :: files, it requires parsing; for tubes, it even requires building + :: the marks). + :: + +$ flow (map leak [refs=@ud =soak]) + :: :: $pile: preprocessed hoon source file :: :: /- sur-file :: surface imports from /sur diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index f9a6f5954..35dc2d49d 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -191,19 +191,6 @@ [%1 peg=(unit page)] == :: -:: Global ford cache -:: -:: Refcount includes references from other items in the cache, and -:: from spills in each desk -:: -:: This is optimized for minimizing the number of rebuilds, and given -:: that, minimizing the amount of memory used. It is relatively slow -:: to lookup, because generating a cache key can be fairly slow (for -:: files, it requires parsing; for tubes, it even requires building -:: the marks). -:: -+$ flow (map leak [refs=@ud =soak]) -:: :: Per-desk ford cache :: :: Spill is the set of "roots" we have into the global ford cache. @@ -228,41 +215,6 @@ [%arch =path] == :: -:: Ford build with content. -:: -+$ pour - $% [%file =path] - [%nave =mark] - [%dais =mark] - [%cast =mars] - [%tube =mars] - :: leafs - :: - [%vale =path =lobe] - [%arch =path =(map path lobe)] - == -:: -:: Ford result. -:: -+$ soak - $% [%cage =cage] - [%vase =vase] - [%arch dir=(map @ta vase)] - [%dais =dais] - [%tube =tube] - == -:: -:: Ford cache key -:: -:: This includes all build inputs, including transitive dependencies, -:: recursively. -:: -+$ leak - $~ [*pour ~] - $: =pour - deps=(set leak) - == -:: :: New desk data. :: :: Sent to other ships to update them about a particular desk. @@ -5647,6 +5599,7 @@ %sweep ``[%sweep !>(sweep)] %rang ``[%rang !>(ran.ruf)] %tomb ``[%flag !>((tomb t.path))] + %flow ``[%flow !>(fad.ruf)] %domes domes %tire ``[%tire !>(tore:(lu now rof *duct ruf))] %tyre ``[%tyre !>(tyr.ruf)] From f6ee174d64b65866feef74a16dc1daf0511b30da Mon Sep 17 00:00:00 2001 From: fang Date: Sat, 28 Jan 2023 00:34:03 +0100 Subject: [PATCH 34/44] webterm: simpler printf rendering As it turns out, the exact behavior of the 'S' CSI command is not "move contents up into scrollback", but rather "delete the top line(s), move other contents up". This behavior leads webterm to eat into outputs whenever it renders slogs. Xterm(.js), when given a newline character at the bottom of a scroll region, does produce the desired behavior of bumping the top line away into scrollback, instead of obliterating it. This implementation now diverges from vere's, which is unfortunate, but the alternative is making webterm track the contents of the bottom-most line of the default session, which seems rather ridiculous by comparison. Fixes #6257. --- pkg/interface/webterm/lib/blit.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/interface/webterm/lib/blit.ts b/pkg/interface/webterm/lib/blit.ts index 720941ff6..6589cb13c 100644 --- a/pkg/interface/webterm/lib/blit.ts +++ b/pkg/interface/webterm/lib/blit.ts @@ -58,15 +58,15 @@ export const showBlit = (term: Terminal, blit: Blit) => { export const showSlog = (term: Terminal, slog: string) => { // set scroll region to exclude the bottom line, - // scroll up one line, - // move cursor to start of the newly created whitespace, + // move cursor to bottom left of the scroll region, + // print a newline to move everything up a line, // set text to grey, // print the slog, // restore color, scroll region, and cursor. // term.write(csi('r', 1, term.rows - 1) - + csi('S', 1) + csi('H', term.rows - 1, 1) + + '\n' + csi('m', 90) + slog + csi('m', 0) From abd6674ae027b5f8fdc45f04f8b694d072b1c50c Mon Sep 17 00:00:00 2001 From: Tinnus Napbus Date: Mon, 30 Jan 2023 14:46:39 +1300 Subject: [PATCH 35/44] show-vat: fix +show-vat to work with wafts --- pkg/arvo/gen/show-vat.hoon | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/arvo/gen/show-vat.hoon b/pkg/arvo/gen/show-vat.hoon index 922cc92bc..0d3d1d2b1 100644 --- a/pkg/arvo/gen/show-vat.hoon +++ b/pkg/arvo/gen/show-vat.hoon @@ -6,9 +6,15 @@ :- %tang %- flop ^- tang =/ pax=path /(scot %p p.bec)/[desk]/(scot %da now) -=+ .^([lal=@tas num=@ud] cx+(weld pax /sys/kelvin)) +=/ welt=(list [@tas @ud]) + =+ .^(=waft:clay cx+(weld pax /sys/kelvin)) + %+ sort ~(tap in (waft-to-wefts:clay waft)) + |= [a=weft b=weft] + ?: =(lal.a lal.b) + (lte num.a num.b) + (lte lal.a lal.b) :~ '/sys/kelvin:' - leaf/"[{} {}]" + (sell !>(welt)) '/desk/bill:' (sell !>(.^((list dude:gall) cx+(weld pax /desk/bill)))) == From 6a2c9355413d69ccd6e417440eb4ce7579249dba Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Wed, 1 Feb 2023 11:22:31 -0500 Subject: [PATCH 36/44] Update issue templates For creating an issue just to make a PR, and some other use cases, it's convenient to be able to create a blank issue. --- .github/ISSUE_TEMPLATE/blank-issue.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/blank-issue.md diff --git a/.github/ISSUE_TEMPLATE/blank-issue.md b/.github/ISSUE_TEMPLATE/blank-issue.md new file mode 100644 index 000000000..acac852e5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/blank-issue.md @@ -0,0 +1,10 @@ +--- +name: Blank Issue +about: Other +title: '' +labels: '' +assignees: '' + +--- + + From 9bdb2b5b423bdd422bc66ea7b6de4c14375a0aa6 Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Wed, 1 Feb 2023 15:29:38 -0500 Subject: [PATCH 37/44] MAINTAINERS.md: add release checklist --- MAINTAINERS.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index eceb7ebaf..db2f54b50 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -119,3 +119,40 @@ following command: ``` git push origin ``` + +## Releases + +- [ ] Create a pull request from the relevant release branch to `master`. +- [ ] ssh into `~zod` +- [ ] Check to ensure that nobody else is ssh'd into `~zod`, by running `screen -ls` and verifying no sessions are attached. +- [ ] Attach to the screen session using `screen -x` +- [ ] Install the contents of the `%kids` desk on `~marnec-dozzod-marzod` into our `%base`: `|merge %base ~marnec-dozzod-marzod %kids, =gem %only-that` +- [ ] Check that `~zod` has updated to the latest release. For a Kelvin release, you can run `zuse` in the Dojo. Each non-Kelvin release might its own way of checking whether the update has completed, possibly through checking the `%cz` hash of the `%base` desk matches the hash on `~marnec-dozzod-marzod` by comparing the outputs of `+vat %base` on both ships. +- [ ] Merge `~zod`'s `%base` desk into its `%kids` desk to distribute the new code to the network: `|merge %kids our %base, =gem %only-that` +- [ ] Before exiting the screen session on `~zod`, make sure the screen session is not left in copy mode for a long period of time, since that will disrupt `~zod`'s operation. + +### Release Communications + +- [ ] Tag the commit that went onto the live network as a release, using GitHub's "Releases" interface. See the "Tagging" section of this document for details. +- [ ] Email the urbit-dev mailing list with an "[ANNOUNCE]" prefix in the email subject. See previous release emails for reference. +- [ ] Tweet from the `@zodisok` Twitter account linking to the GitHub release. +- [ ] Post links to the release in the Urbit Community Development channel and a channel in the UF public group. + +### Post-Release Git Cleanup + +- [ ] Merge master back into develop. +- [ ] Cut a new release branch from develop. TODO describe release branch naming + +### Post-Release Checks +- [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state. +- [ ] Check that planets are receiving the update. They should start updating within an hour or so. +- [ ] Monitor the Urbit Community Help channel, UF public group channels, and Twitter to make + +### Post-Release Artifacts +After waiting at least 24 hours after the release to the network, make and distribute a pill. +- [ ] Find a ship on the network (for now, use `~halbex-palheb`, which runs the UF public group) whose sources for `%base` and the standard app desks are mainline, not devstream. +- [ ] Ensure the `%cz` hashes of all desks match those on the distribution ships. +- [ ] Make a pill by running `.multi-vX-XX/pill +solid %base %garden %webterm %landscape %groups %talk` (replacing `X-XX` with the appropriate version numbers, in this and later steps). +- [ ] Boot a fakezod off that pill to make sure the pill is viable. +- [ ] Upload the pill to `bootstrap.urbit.org` using the Google Cloud SDK by running: `gsutil cp /path/to/pier/.urb/put/multi-vX-XX.pill gs://bootstrap.urbit.org/urbit-vX.XX.pill` -- note that it should be `vX.XX`, not `vX-XX` as in the original pill filename. +- [ ] Boot a ship with the latest binary and check that it downloads the pill from `https://bootstrap.urbit.org/urbit-vX.XX.pill` where you just uploaded it. From e7c650fb41bf468a6065cdeb59d744ad9ec3bce6 Mon Sep 17 00:00:00 2001 From: james acklin <748181+jamesacklin@users.noreply.github.com> Date: Thu, 2 Feb 2023 08:43:38 -0500 Subject: [PATCH 38/44] meta: fix landscape reporting link fixes tloncorp/landscape-apps#1799 --- .github/ISSUE_TEMPLATE/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ed0ab9842..1cbaa900a 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,8 +1,8 @@ blank_issues_enabled: true contact_links: - name: Submit a Landscape issue - url: https://github.com/urbit/landscape/issues/new/choose - about: Issues with Landscape (Tlon's flagship client) should be filed at urbit/landscape. This includes groups, chats, collections, notebooks, and more. + url: https://github.com/tloncorp/landscape-apps/issues/new/choose + about: Issues with Landscape should be filed at tloncorp/landscape-apps. This includes Groups, Talk, and Landscape proper. - name: urbit-dev mailing list url: https://groups.google.com/a/urbit.org/g/dev about: Developer questions and discussions also take place on the urbit-dev mailing list. From cb1ce574751524c5764765909fb5876ba846a033 Mon Sep 17 00:00:00 2001 From: DaneBettis Date: Thu, 2 Feb 2023 11:30:54 +0000 Subject: [PATCH 39/44] added %meme tests to hints.hoon --- tests/run/hints.hoon | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/run/hints.hoon b/tests/run/hints.hoon index ac382497f..8bdcac295 100644 --- a/tests/run/hints.hoon +++ b/tests/run/hints.hoon @@ -24,6 +24,14 @@ ++ test-hint-xray ~> %xray.[1 leaf+"test-hint-xray ~"] ~ +:: test that these memory-report hints +:: are safe to run or ignore +++ test-hilt-meme + ~> %meme + ~ +++ test-hint-meme + ~> %meme.[1 leaf+"test-hint-meme ~"] + ~ :: test that the hilt bout hint :: is safe to run or ignore ++ test-hilt-bout From f75e52b9ff0f8557044f21940e2d37645d9b6011 Mon Sep 17 00:00:00 2001 From: bacwyls Date: Thu, 2 Feb 2023 17:20:21 -0600 Subject: [PATCH 40/44] clay: revise scry for subscribers to a desk Address PR6136 comments to improve the interface to this scry. Now it looks like .^((set ship) %cs /=landscape=/subs) instead of .^((set ship) %cs %/subs/landscape) --- pkg/arvo/sys/vane/clay.hoon | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index d97b9e35b..2e4111c9c 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4207,6 +4207,20 @@ ++ read-s |= [yon=aeon pax=path] ^- (unit (unit cage)) + ?: ?=([%subs ~] pax) + =/ doj=(unit dojo) (~(get by dos.rom) syd) + ?~ doj `~ + =/ wos ~(tap in ~(key by qyx.u.doj)) + =| sus=(set ship) + |- + ?~ wos + ``noun+!>(sus) + ?~ for.i.wos + $(wos t.wos) + %= $ + wos t.wos + sus (~(put in sus) ship.u.for.i.wos) + == ?. ?=([@ * *] pax) `~ ?+ i.pax `~ @@ -4245,21 +4259,6 @@ %- wrap:fusion (page-to-cage:(aeon-ford yon) u.peg) ``cage+[-:!>(*^cage) cage] - :: - %subs - =/ doj=(unit dojo) (~(get by dos.rom) i.t.pax) - ?~ doj ~ - =| sus=(set ship) - =/ wos ~(tap in ~(key by qyx.u.doj)) - |- - ?~ wos - ``noun+!>(sus) - ?~ for.i.wos - $(wos t.wos) - %= $ - wos t.wos - sus (~(put in sus) ship.u.for.i.wos) - == :: %open ``open+!>(prelude:(aeon-ford yon)) %late !! :: handled in +aver From 98069d56f1b80d053f3ae44f9c76befccbed4f9f Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Fri, 3 Feb 2023 07:31:40 -0800 Subject: [PATCH 41/44] Update MAINTAINERS.md --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index db2f54b50..85d610377 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -140,7 +140,7 @@ git push origin ### Post-Release Git Cleanup -- [ ] Merge master back into develop. +- [ ] Merge `master` back into `develop`. - [ ] Cut a new release branch from develop. TODO describe release branch naming ### Post-Release Checks From aec89503ce4cbc6ebe306ebeee71a6b3c6ba95b3 Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Fri, 3 Feb 2023 07:31:46 -0800 Subject: [PATCH 42/44] Update MAINTAINERS.md --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 85d610377..73502d532 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -141,7 +141,7 @@ git push origin ### Post-Release Git Cleanup - [ ] Merge `master` back into `develop`. -- [ ] Cut a new release branch from develop. TODO describe release branch naming +- [ ] Cut a new release branch from `develop`. The branch should have the format `release/urbit-os-vX.XX` ### Post-Release Checks - [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state. From 4c2e5460bd37a8225b0a85ac3ebfd54380e19f61 Mon Sep 17 00:00:00 2001 From: bacwyls <92823050+bacwyls@users.noreply.github.com> Date: Fri, 3 Feb 2023 11:46:54 -0600 Subject: [PATCH 43/44] clay: revise /subs %cs scry again return an empty set instead of crashing if desk doesn't exist --- pkg/arvo/sys/vane/clay.hoon | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index 37200eeee..065478e6c 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4163,10 +4163,11 @@ |= [yon=aeon pax=path] ^- (unit (unit cage)) ?: ?=([%subs ~] pax) - =/ doj=(unit dojo) (~(get by dos.rom) syd) - ?~ doj `~ - =/ wos ~(tap in ~(key by qyx.u.doj)) =| sus=(set ship) + =/ doj=(unit dojo) (~(get by dos.rom) syd) + ?~ doj + ``noun+!>(sus) + =/ wos ~(tap in ~(key by qyx.u.doj)) |- ?~ wos ``noun+!>(sus) From 09a0da4c84ff965610f3d71a057da80ad9651695 Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Fri, 3 Feb 2023 12:33:27 -0600 Subject: [PATCH 44/44] clay: refuse %cs subs scry unless at now --- pkg/arvo/sys/vane/clay.hoon | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index 065478e6c..6f31ae2bf 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4160,9 +4160,10 @@ :: +read-s: produce miscellaneous :: ++ read-s - |= [yon=aeon pax=path] + |= [yon=aeon pax=path =case] ^- (unit (unit cage)) ?: ?=([%subs ~] pax) + ?. =([%da now] case) ~ =| sus=(set ship) =/ doj=(unit dojo) (~(get by dos.rom) syd) ?~ doj @@ -4442,7 +4443,7 @@ %f (read-f yon path.mun) %p [(read-p path.mun) ..park] %r (read-r yon path.mun) - %s [(read-s yon path.mun) ..park] + %s [(read-s yon path.mun case.mun) ..park] %t [(read-t yon path.mun) ..park] %u [(read-u yon path.mun) ..park] %v [(read-v yon path.mun) ..park]