Skip to content

Commit c565768

Browse files
committed
remote: change AddSignatures from [ByteString] to Set Signature
1 parent 22c4d46 commit c565768

File tree

3 files changed

+33
-16
lines changed

3 files changed

+33
-16
lines changed

hnix-store-remote/src/System/Nix/Store/Remote.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,8 @@ queryPathInfoUncached path = do
349349

350350
let
351351
sigs = case
352-
Data.Set.fromList <$> mapM (Data.Attoparsec.Text.parseOnly System.Nix.Signature.signatureParser) sigStrings
352+
Data.Set.fromList
353+
<$> mapM System.Nix.Signature.parseNarSignature sigStrings
353354
of
354355
Left e -> error e
355356
Right x -> x

hnix-store-remote/src/System/Nix/Store/Remote/Serializer.hs

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ module System.Nix.Store.Remote.Serializer
4040
, storePathName
4141
-- * Metadata
4242
, pathMetadata
43+
-- * Signatures
44+
, signature
45+
, narSignature
4346
-- * Some HashAlgo
4447
, someHashAlgo
4548
-- * Digest
@@ -115,7 +118,7 @@ import System.Nix.ContentAddress (ContentAddress)
115118
import System.Nix.Derivation (Derivation(..), DerivationOutput(..))
116119
import System.Nix.DerivedPath (DerivedPath, ParseOutputsError)
117120
import System.Nix.Hash (HashAlgo)
118-
import System.Nix.Signature (NarSignature)
121+
import System.Nix.Signature (Signature, NarSignature)
119122
import System.Nix.StorePath (HasStoreDir(..), InvalidPathError, StorePath, StorePathHashPart, StorePathName)
120123
import System.Nix.StorePath.Metadata (Metadata(..), StorePathTrust(..))
121124
import System.Nix.Store.Remote.Types
@@ -505,7 +508,7 @@ pathMetadata = Serializer
505508
size -> Just size) <$> getS int
506509
trust <- getS storePathTrust
507510

508-
sigs <- getS $ set signature
511+
sigs <- getS $ set narSignature
509512
contentAddress <- getS maybeContentAddress
510513

511514
pure $ Metadata{..}
@@ -527,7 +530,7 @@ pathMetadata = Serializer
527530
putS time registrationTime
528531
putS int $ Prelude.maybe 0 id $ narBytes
529532
putS storePathTrust trust
530-
putS (set signature) sigs
533+
putS (set narSignature) sigs
531534
putS maybeContentAddress contentAddress
532535
}
533536
where
@@ -553,15 +556,27 @@ pathMetadata = Serializer
553556
(\case BuiltElsewhere -> False; BuiltLocally -> True)
554557
bool
555558

556-
signature
557-
:: NixSerializer r SError NarSignature
558-
signature =
559-
mapPrismSerializer
560-
(Data.Bifunctor.first SError_Signature
561-
. Data.Attoparsec.Text.parseOnly
562-
System.Nix.Signature.signatureParser)
563-
(System.Nix.Signature.signatureToText)
564-
text
559+
-- * Signatures
560+
561+
signature
562+
:: NixSerializer r SError Signature
563+
signature =
564+
mapPrismSerializer
565+
(Data.Bifunctor.first SError_Signature
566+
. Data.Attoparsec.Text.parseOnly
567+
System.Nix.Signature.signatureParser)
568+
(System.Nix.Signature.signatureToText)
569+
text
570+
571+
narSignature
572+
:: NixSerializer r SError NarSignature
573+
narSignature =
574+
mapPrismSerializer
575+
(Data.Bifunctor.first SError_Signature
576+
. Data.Attoparsec.Text.parseOnly
577+
System.Nix.Signature.narSignatureParser)
578+
(System.Nix.Signature.narSignatureToText)
579+
text
565580

566581
-- * Some HashAlgo
567582

@@ -982,7 +997,7 @@ storeRequest = Serializer
982997

983998
WorkerOp_AddSignatures -> do
984999
path <- getS storePath
985-
signatures <- getS (list byteString)
1000+
signatures <- getS (set signature)
9861001
pure $ Some (AddSignatures path signatures)
9871002

9881003
WorkerOp_AddIndirectRoot ->
@@ -1101,7 +1116,7 @@ storeRequest = Serializer
11011116
putS workerOp WorkerOp_AddSignatures
11021117

11031118
putS storePath path
1104-
putS (list byteString) signatures
1119+
putS (set signature) signatures
11051120

11061121
Some (AddIndirectRoot path) -> do
11071122
putS workerOp WorkerOp_AddIndirectRoot

hnix-store-remote/src/System/Nix/Store/Remote/Types/StoreRequest.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import System.Nix.Build (BuildMode, BuildResult)
2020
import System.Nix.Derivation (Derivation)
2121
import System.Nix.DerivedPath (DerivedPath)
2222
import System.Nix.Hash (HashAlgo)
23+
import System.Nix.Signature (Signature)
2324
import System.Nix.Store.Types (FileIngestionMethod, RepairMode)
2425
import System.Nix.StorePath (StorePath, StorePathName, StorePathHashPart)
2526
import System.Nix.StorePath.Metadata (Metadata)
@@ -58,7 +59,7 @@ data StoreRequest :: Type -> Type where
5859

5960
AddSignatures
6061
:: StorePath
61-
-> [ByteString]
62+
-> Set Signature
6263
-> StoreRequest ()
6364

6465
-- | Add temporary garbage collector root.

0 commit comments

Comments
 (0)