Overview
Context
Changes
Modified client/1.0/neutral/pkgr.eagle
from [f6f8c2af9a]
to [e647b537ea].
︙ | | |
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
|
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
+
-
+
-
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
|
error "cannot sign with OpenPGP: passphrase file does not exist"
}
} else {
error "cannot sign with OpenPGP: passphrase file is not configured"
}
}
#
# NOTE: This procedure returns a list of the same size as the list argument
# value. Each element will have one pair of surrounding double quote
# characters removed -IF- they are the first and last non-whitespace
# character of that element. A script error should not be raised by
# this procedure.
#
proc dequoteList { list } {
set result [list]
foreach element $list {
set trimElement [string trim $element]
set trimLength [string length $trimElement]
if {$trimLength >= 2 && \
[string index $trimElement 0] eq "\"" && \
[string index $trimElement end] eq "\""} then {
lappend result [string range $trimElement 1 end-1]
} else {
lappend result $element; # verbatim
}
}
return $result
}
#
# NOTE: This procedure attempts to create a Harpy (script) certificate for
# the specified (named) file. Non-zero is only returned if the Harpy
# (script) certificate is created successfully. A script error should
# not be raised by this procedure. The fileName argument must be the
# fully qualified path and file name of the file to be signed. This
# procedure assumes that the Harpy package for Eagle is installed and
# ready for use (i.e. it can find a valid license certificate).
#
# <internal>
proc createHarpyCertificate { fileName } {
global env
variable harpySignCommand
variable pkgr_harpy_path
set toolFileName \
[file nativename [file join $pkgr_harpy_path sign.eagle]]
set scriptFileName [file nativename $fileName]
if {[info exists env(PKGR_VENDOR)]} then {
set vendor $env(PKGR_VENDOR); # NOTE: Configured default.
} else {
set vendor "Mistachkin Systems"; # NOTE: System default.
set vendor "Mistachkin Systems"; # NOTE: System default.
}
if {[isEagle]} then {
set shellFileName [formatExecArgument [info nameofexecutable]]
set runtimeCommandLine [getRuntimeCommandLine [getShellExecutableName]]
set toolFileName [formatExecArgument $toolFileName]
set scriptFileName [formatExecArgument $scriptFileName]
set vendor [formatExecArgument $vendor]
if {[catch {
if {[set code [catch {
eval exec -success Success [subst $harpySignCommand]
}] == 0} then {
} error]] == 0} then {
return true
} else {
pkgLog [appendArgs \
"Harpy certificate was not created (from Eagle): " \
[formatResult $code $error]]
}
} else {
#
# HACK: Make sure that Eagle is loaded into this process so that we
# can figure out the shell for it and then [exec] out to that
# shell.
#
makeEagleReady
set shellFileName [eagle {
file join [file dirname [lindex [info assembly] end]] EagleShell.exe
}]
set runtimeCommandLine [dequoteList [eagle {
apply [list [list] {
set directory [file dirname [lindex [info assembly] end]]
foreach fileNameOnly [list EagleShell.dll EagleShell.exe] {
set fileName [file join $directory $fileNameOnly]
if {[file exists $fileName]} then {
return [getRuntimeCommandLine $fileName]
}
}
}]
}]]
if {[catch {
if {[set code [catch {
eval exec [subst $harpySignCommand] 2>@1
} result] == 0} then {
} error]] == 0} then {
return true
} else {
pkgLog [appendArgs \
"Harpy certificate was not created (from Tcl): " \
[formatResult $code $error]]
}
}
return false
}
#
|
︙ | | |
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
|
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
|
-
+
|
# package scripts.
#
variable harpySignCommand; # DEFAULT: {${shellFileName}} -file ...
if {$force || ![info exists harpySignCommand]} then {
set harpySignCommand ""
append harpySignCommand {{${shellFileName}}}
append harpySignCommand {${runtimeCommandLine}}
append harpySignCommand { -noArgumentsFileName -file {${toolFileName}}}
append harpySignCommand { {${scriptFileName}} {${vendor}}}
}
#
# NOTE: Verify that the package script matches the current language
# when called from the [package unknown] handler?
|
︙ | | |
Modified client/1.0/neutral/pkgr.eagle.asc
from [19404c20c1]
to [2ae2084e91].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository
iQIcBAABCAAGBQJl9TFyAAoJEFAslq9JXcLZVPYP/2/dW46A4L2joxJnvTp+wesp
79SsSYn1feYDuY4yBMVWmzxTFRtaMpg2Ml6pZx48DIEg57GmwyMRO1yg3t4Qk1VV
cF3x6vDzUprmPoME+7lSc8tN7wMxXXB2FyV4X2JoSrgQ4BxSFlexcohRMlL1fYmw
fnW2Fj+rMm4nKi/vw7eiz56zv3/fogtYz/7jbHz9Z/WKQFxkk95EWDyj4n/p+RiY
xnoPRLwZk/WVJXXEtFob24Xt4cDSC3iGBTepJCqdGxe1FLCOZD9D3W0mFp2p9RB7
+OXlg6o8AtF4i1NMnJpZkigODOd8Nm8RyiEWXqJgv1ReKLlKsNcOB7TYJNekWTZq
zOUrKfqDx9yEdU20ou+4tQ8EF4noMI1LWUvHhRuZHxXqffu6An1MR+uBLfR90NV9
Eyas55Xi7xbikpbJwUSI8e9FZ01JItcnrJDBSHX4zfNSsJ4odct9edf7tU9IrnGV
//HdGFz/cMY76ogMWS7vPL9QXGqFKyvV4vEvzQcAS0Ar9iOwW+qppnfGXW1CTNF4
x/yBsudtnCHTufxWNS9CQU1P6ys2HuetyQn7j/McMmseSRhicie82w/jol6n16IC
6FIiCZH2Tj4PVdXIrsA4yLkdD6+T/9KN6/y4jyOAAZRo3TzsWREQieME6Pl3jLoX
OB+/X/yZl+F602z5+wRO
=/En+
iQIcBAABCAAGBQJmAQREAAoJEFAslq9JXcLZ21gQAMg4pE0BY+HPRV6RQnm1KNMe
8PfXbdMZ2nDWyQoV6ltpjRlfkaX+PzYf0UERWLhMCcJfAw9mHx0m+nc9j6KImPdM
qph8X+zQSASuh9xgtJyoTK14Jdbc+l/07TzoqoT19LWfrehoPAO9IOh5So23skic
P4cklzQbkvnEN9BG+b+7HwvOc64oO63YRFp/LhwofE4PC+jo/IeOQ4OcY9uDboDR
qJ1WBno8bfOcLkBQDMUKcU0gxI/sQ3Z8aByMex2JGq4IulydeqRoylBOe+Q4kIx+
5SHomww/FQdMNNujvfcYDCwfLDpdCzLNylWrUF8HhTj78CBGJjOJBRoxECda9uP2
YDPTawzA95/1ZdVrmgwPxuS5JyI3KtRQtTZKu3kCABAnbYcOLblmdhGAC5GYkeTi
SbmlMoOQszOGcCzEyP8g1HQnPYN17pVCBhIvvvZPU/TO/CYdvJ+axtbDsq78xXlE
Bk995sAteI0Mdwmea1yxzMv3j3s0QI3AgiDk0lFr7HeHqWS+UqVxRgbQVx5EPXG8
U55+lle9zPL1e1/uljYqX1SBsoyg2P39MKyEFsWOwjsNyP3d+k+ZhYq6+zZ1gZ0F
4ir5YWPFCLmwzLNBGCh+KOGthpjRS7tlLDZ8jCltrfSbHp5Q0HMXbddkdtya1IK5
YWYJ2twFUkXcwN0y9wUk
=mGbr
-----END PGP SIGNATURE-----
|
Modified client/1.0/neutral/pkgr.eagle.harpy
from [1c766face9]
to [cfba99a0e6].
︙ | | |
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Protocol>None</Protocol>
<Vendor>Mistachkin Systems</Vendor>
<Id>4b6821d9-cf0a-4066-aaf8-5363ea51a1d0</Id>
<Id>b34fb1e0-a464-4ed9-8936-233a8cb90ff1</Id>
<HashAlgorithm>SHA512</HashAlgorithm>
<EntityType>Script</EntityType>
<TimeStamp>2024-03-16T05:42:38.1576691Z</TimeStamp>
<TimeStamp>2024-03-25T04:56:47.9177074Z</TimeStamp>
<Duration>-1.00:00:00</Duration>
<Key>0x9559f6017247e3e2</Key>
<Signature>
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
</Signature>
</Certificate>
|
Modified client/1.0/neutral/pkgr.eagle.harpy.asc
from [d5e904f634]
to [889b48fab6].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Eagle Package Repository
iQIcBAABCAAGBQJl9TF0AAoJEFAslq9JXcLZsqEQALJbPdj6rtvUTVn/+pxEAE09
9WL1vvKqAoGY9Ss4mR6t9CE7SH+XggqdzaNtvI1SQ4/Ewb4SWH09QHCmrhMmaJ9Q
1Qagv9ISJD0BuOba2k6+/7YpfhK7LgsEbvR6P5nSHYn0sDMiVuRshgA8xDCpBFvP
uYW75oiCnVTk0Ac3CV0k7WmedHkWldXEj6WY8pYSmXWnRlh0DtJZrRUjKzFELQXf
od+ghvgQZMziy/2Ux7msMK15VecJJGr2hwksPMhOJ9hRxwNHkEnvbZV2ZsWMDD4o
plvsLV6tVUDrwp0+mnGEuDXcKZfK5uuxcPxWCwk7fX/BCJLUWACETd6KJKfN8mdt
uehwlC0SIJQtGtVU7lKB8jd+6czLPzBNj67GkiADUaEjgvQPl2dF2xP33VhiM3tu
sXbn628j+9MkMM0h9RmLahWOzxs8ltRLHCMrG0l/qzrXjNZnUihKG48vapMj42Ib
NrelS5KEyL77dvOsDY7zr5AQ4HV2RJim3WHesiOCy4oQ8bNlWnYkou0Q5npqQmG7
hTlZ/yu0lgCQz9yhGhGVZugvzbZoBy0cLfsNTq8P2H9/MjUj5q4P+wHdPKeW7Uqd
p2IaB7bzxWNt2lV9EhGX9lv3LGGzAKgRTpo1stVziooL1XHv/JLI0tSwjOF4FcE0
VSXZ03+UemWXF1lg6qiL
=1p3w
iQIcBAABCAAGBQJmAQRFAAoJEFAslq9JXcLZb7IP+wXmbutc0kanyE0irAuOZJkI
JBCiyPb+RpRpGbz65m0Tt9min7QmBTr6qBby8cdu/fBvWIY1hLeF/8j1xh45RJfi
ZfblUjxITsTtk9EX0asmlYWCR+BAF1zDgOYKWmizzaLZqfXpzWmK5F8zHiTe692D
b2NJAzRY+QSep/Fwf3TWaECjCga1QOO1TmQpCRjhW7b4+u0gNCDoqD8pz0zTKIMJ
bEzfOyx1Enom5t7F2emyfrIt6O/8vlsdtN+TKeCBKL0XECMgtWk+OJRYUeCorDI4
aK91cCTENddjvvkNGFOoBZMZ9XpQoN5TVXm2JjMbDiACbmCotUL/L2FPJut9k8X+
1xaW+2FeS7aOraOXqiB3UBIAWCn/NzhPAN0RFzrKmSdWqK532HqwTgWChw9RWO/L
pnt+Otp56blmGprbw/4YhuTHLJD2LOj46MC7wmxkS1MLFPqA69L9XAMQMPEMXy2g
r6gBSmwUnuGWEW14bLnuS41cxTgIStw1gplno+okQmryPXm2gLzScykN7A2xZ/E0
Hp/9emUUg9/cxD+cpsqDee0YX3FWkaWJ1LMdHWlKqTJfqyaJKovqCMlefzHRpwG1
c1Or4yD46ut2cMJam8Xf2MHTJ6P2HhWt5SKlUG5vn7rFjFx5Q9ljpvuqOE4s3qez
FU2bVOQNDFOtdLYmjFjM
=feSr
-----END PGP SIGNATURE-----
|