Check-in [84bd59ace2]
Not logged in
Overview
Comment:Be careful to avoid modifying the namespace directory variables when formatting arguments to 'exec'.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 84bd59ace2248ebf03c7ce62a8829427e28858c0
User & Date: mistachkin on 2016-12-23 04:20:09
Other Links: manifest | tags
Context
2016-12-23
04:37
Enable package submissions in the uploader client. Modify name prefix for Tk label widgets. check-in: 9c01f58e6f user: mistachkin tags: trunk
04:20
Be careful to avoid modifying the namespace directory variables when formatting arguments to 'exec'. check-in: 84bd59ace2 user: mistachkin tags: trunk
04:04
Make sure all Fossil command arguments are formatted properly for Eagle. Fixes to Tk layout. Make sure uploader client user interface has a title. check-in: a86353b0d1 user: mistachkin tags: trunk
Changes

Modified client/1.0/neutral/pkgr_upload.eagle from [d8f863d4ad] to [c9e7d73946].

76
77
78
79
80
81
82
83

84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104

105
106
107
108
109
110
111
76
77
78
79
80
81
82

83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103

104
105
106
107
108
109
110
111







-
+




















-
+







    #
    # NOTE: The command to use when attempting to check for changes prior to
    #       staging files using Fossil.
    #
    variable fossilChangesCommand; # DEFAULT fossil changes ...

    if {![info exists fossilChangesCommand]} then {
      set fossilChangesCommand {fossil changes --chdir {${checkoutDirectory}}}
      set fossilChangesCommand {fossil changes --chdir {${directory}}}
    }

    #
    # NOTE: The regular expression pattern used when attempting to verify
    #       that the Fossil checkout has no changes staged.  Generally, this
    #       pattern should only match an empty string.
    #
    variable fossilChangesPattern; # DEFAULT: {^$}

    if {![info exists fossilChangesPattern]} then {
      set fossilChangesPattern {^$}
    }

    #
    # NOTE: The command to use when attempting to check the checkout status
    #       prior to staging files using Fossil.
    #
    variable fossilInfoCommand; # DEFAULT fossil info ...

    if {![info exists fossilInfoCommand]} then {
      set fossilInfoCommand {fossil info --chdir {${scriptDirectory}}}
      set fossilInfoCommand {fossil info --chdir {${directory}}}
    }

    #
    # NOTE: The regular expression pattern used when attempting to extract
    #       the root directory for the Fossil checkout.
    #
    variable fossilInfoLocalRootPattern; # DEFAULT: {^local-root:\s+(.*?)$}
139
140
141
142
143
144
145
146

147
148
149
150
151
152
153
154
155
156
157

158
159
160
161
162
163
164
165
166
167
168
169

170
171
172
173
174
175
176
139
140
141
142
143
144
145

146
147
148
149
150
151
152
153
154
155
156

157
158
159
160
161
162
163
164
165
166
167
168

169
170
171
172
173
174
175
176







-
+










-
+











-
+







    # NOTE: The command to use when attempting to reset the checkout to the
    #       default branch prior to staging files using Fossil.
    #
    variable fossilUpdateCommand; # DEFAULT fossil update trunk ...

    if {![info exists fossilUpdateCommand]} then {
      set fossilUpdateCommand \
          {fossil update trunk --chdir {${checkoutDirectory}}}
          {fossil update trunk --chdir {${directory}}}
    }

    #
    # NOTE: The command to use when attempting to stage package files using
    #       Fossil.
    #
    variable fossilAddCommand; # DEFAULT fossil add ...

    if {![info exists fossilAddCommand]} then {
      set fossilAddCommand \
          {fossil add --chdir {${targetDirectory}} {${fileName}}}
          {fossil add --chdir {${directory}} {${fileName}}}
    }

    #
    # NOTE: The command to use when attempting to commit package files using
    #       Fossil.
    #
    variable fossilCommitCommand; # DEFAULT fossil commit ...

    if {![info exists fossilCommitCommand]} then {
      set fossilCommitCommand {fossil commit -m {${comment}}\
          --branch {${branch}} --user anonymous --chdir \
          {${checkoutDirectory}} --no-prompt}
          {${directory}} --no-prompt}
    }

    #
    # NOTE: The regular expression pattern used when attempting to verify
    #       that Fossil committed a set of files.
    #
    variable fossilCommitPattern; # DEFAULT: {^New_Version: ([0-9a-f]{40})$}
588
589
590
591
592
593
594
595

596
597
598
599
600
601
602
588
589
590
591
592
593
594

595
596
597
598
599
600
601
602







-
+







  #
  proc getCheckoutDirectory {} {
    variable fossilInfoCommand
    variable fossilInfoLocalRootPattern
    variable scriptDirectory

    if {[isEagle]} then {
      set scriptDirectory [::PackageRepository::formatExecArgument \
      set directory [::PackageRepository::formatExecArgument \
          $scriptDirectory]

      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \
            [subst $fossilInfoCommand]
      } result] == 0} then {
        set result [appendArgs $output $error]
652
653
654
655
656
657
658
659

660
661
662
663
664
665
666
652
653
654
655
656
657
658

659
660
661
662
663
664
665
666







-
+







    variable checkoutDirectory
    variable fossilChangesCommand
    variable fossilChangesPattern

    verifyCheckoutDirectory

    if {[isEagle]} then {
      set checkoutDirectory [::PackageRepository::formatExecArgument \
      set directory [::PackageRepository::formatExecArgument \
          $checkoutDirectory]

      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \
            [subst $fossilChangesCommand]
      } result] == 0} then {
        set result [appendArgs $output $error]
691
692
693
694
695
696
697
698

699
700
701
702
703
704
705
691
692
693
694
695
696
697

698
699
700
701
702
703
704
705







-
+







  proc verifyThisIsTheCorrectProject {} {
    variable fossilInfoCommand
    variable fossilInfoProjectCodePattern
    variable projectCode
    variable scriptDirectory

    if {[isEagle]} then {
      set scriptDirectory [::PackageRepository::formatExecArgument \
      set directory [::PackageRepository::formatExecArgument \
          $scriptDirectory]

      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \
            [subst $fossilInfoCommand]
      } result] == 0} then {
        set result [appendArgs $output $error]
729
730
731
732
733
734
735
736

737
738
739
740
741
742
743
729
730
731
732
733
734
735

736
737
738
739
740
741
742
743







-
+







  #
  proc verifyThisIsTheCorrectBranch {} {
    variable fossilInfoCommand
    variable fossilInfoTagsPattern
    variable scriptDirectory

    if {[isEagle]} then {
      set scriptDirectory [::PackageRepository::formatExecArgument \
      set directory [::PackageRepository::formatExecArgument \
          $scriptDirectory]

      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \
            [subst $fossilInfoCommand]
      } result] == 0} then {
        set result [appendArgs $output $error]
768
769
770
771
772
773
774
775

776
777
778
779
780
781
782
768
769
770
771
772
773
774

775
776
777
778
779
780
781
782







-
+







  proc changeToTheCorrectBranch {} {
    variable checkoutDirectory
    variable fossilUpdateCommand

    verifyCheckoutDirectory

    if {[isEagle]} then {
      set checkoutDirectory [::PackageRepository::formatExecArgument \
      set directory [::PackageRepository::formatExecArgument \
          $checkoutDirectory]

      if {[catch {
        eval exec -success Success [subst $fossilUpdateCommand]
      } error]} then {
        error [appendArgs \
            "could not change branch: " $error]
798
799
800
801
802
803
804
805

806
807
808
809
810
811
812
798
799
800
801
802
803
804

805
806
807
808
809
810
811
812







-
+







  #       relative name of the file to be staged.  This procedure may raise
  #       script errors.
  #
  proc stageOnePackageFile { targetDirectory fileName } {
    variable fossilAddCommand

    if {[isEagle]} then {
      set targetDirectory [::PackageRepository::formatExecArgument \
      set directory [::PackageRepository::formatExecArgument \
          $targetDirectory]

      set fileName [::PackageRepository::formatExecArgument $fileName]

      if {[catch {
        eval exec -success Success [subst $fossilAddCommand]
      } error]} then {
893
894
895
896
897
898
899
900

901
902
903
904
905
906
907
893
894
895
896
897
898
899

900
901
902
903
904
905
906
907







-
+







    set branch [appendArgs pkg_ $package _ $patchLevel]

    set comment [appendArgs \
        "Add package " $package " v" $patchLevel " for " $language \
        " v" $version .]

    if {[isEagle]} then {
      set checkoutDirectory [::PackageRepository::formatExecArgument \
      set directory [::PackageRepository::formatExecArgument \
          $checkoutDirectory]

      set branch [::PackageRepository::formatExecArgument $branch]
      set comment [::PackageRepository::formatExecArgument $comment]

      if {[catch {
        eval exec -nocarriagereturns -stdout output -stderr error \

Modified client/1.0/neutral/pkgr_upload.eagle.asc from [d5f6bc4b1f] to [aee2202c38].

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

iQIcBAABCAAGBQJYXKIfAAoJEFAslq9JXcLZ/dkQALpneEN/I53XLHOarmVTsv51
EW6Kznn+3rTlmdJieQ5OJdsJFgPtrm8m7p0nt1+NJmJXIXJCz05p+MTqGh8QMQJ3
9gjw3DXB+nUOkqgt4/voxFyExdKgh5n9yAKXdkm/+8drd4oXjNivZkiza1xquOtT
VXqsAdEr7LCYdbCO4GRb4gG9juzm700cpI7KwwlKMsR1HR0rQH0+6OragKkHmT5e
0gXvw6Li0uTO1opokoxQLC3ERR/QU19ZF3YwFzLcGSqeEAt1fGm+tFwn+qYTt44n
oIpjLjStugbp0YU/PbZfez6p6e0X2zj4hWcJzn1FMPiNwDBSe/0aWUCe3Fux5Kxn
JnfBALHT//H7+HNUhMBs+8YAMwpEPpVduJ/7DiuRe560ma7BMu/fwYlTJxj2t1E7
R8V4WZU6GW69wb78//TP3TtqJsXK5FL9yu5E+2X46wTGTc90mvqKi2kyxLhlXbeA
ZaFOI9TunuR8SwwMXWoJdjZJPLFFeREXb+zcif/pdD62Gb18F1UHgHPE4WAP40VZ
4PznKJtwp8bYMdVFcskW70fw9MXs8iWy2RDyebvNHF8F//y4Vp2PFS3qxTvbwWWo
qAKAoPplvHGcY6aSLlBjKk1vV9/MfYHu5HUm/HjpJZTPj2vNxKxHnu8O8dPbzPjV
tFAYXJZf7HLUcTHmUhu+
=B0Qb
iQIbBAABCAAGBQJYXKXnAAoJEFAslq9JXcLZUEcP+OSIfeiadUimnSgseZrD6eEg
46qPIH7vkRodBZAT251g3XRC3vVFfnRjMy/aB9ZR3XQ6IlGEr/wHsJ4j9wP4bxQU
uUxjV07+4PWrcgvmnvcckDvO9bBOi9BllGV88EbCQhMHuyDFfWosynjr2akfn8vp
xGnxDPP+MLtBZmHFQrzwctKWELWuXsOdETsMrIVBHmeQKjMapR07ztsMDp3dCZYI
fQjwuBBU7vAkVOhHnSVWM6wROUX6b8UiTvaG8E7eJx49F8kjeJwPORgQJlU+Un5U
+cJzN8CrM9FGD4o84RKvyyIGhEAZ4Wf0UKfXC6Xi4b8uuPJYeWjFvm9WU1QnZCae
mPR2CaaBaENLfBJI8ss5aztdzriD5DGwXG6mS4hBOdNFa/Yzjcv9X/38yEsmuIYi
F9KTZTkKvVY+vHy8ONJTetz82K3nVkDfsSafM2rhCzEUd3ft441qA4aegXFgEGMO
6mNm0fKDXJwHo0qmi5V1g0tdan5YL0W1j29eRIS4/KH7qONFTmsW+jOLJBNVE6/f
M5/ttbO6KGO/6IPbql4JoBKy677YzQxm214YyWFRuylmb5ndLtH9B3JR3R7eIrwk
BS2zrQE+TR6VDwRDQOocEp2mrLkiZtkyjUzS1f52181GrS5hCt4qJU0KCiLdwj3T
XDnByf5L/OQQOfN0ULE=
=w5Ip
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr_upload.eagle.harpy from [d00d89cdf4] to [08f66b7ea3].

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>02e64bd7-ca00-41c9-8e3d-9c2e8e9b0279</Id>
  <Id>f7659c4c-ea7a-4a2b-9f4a-11a2d58b47db</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-12-23T04:03:16.4218750Z</TimeStamp>
  <TimeStamp>2016-12-23T04:19:26.9550781Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgr_upload.eagle.harpy.asc from [f2576ad358] to [0ba2c2251e].

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

iQIcBAABCAAGBQJYXKIgAAoJEFAslq9JXcLZLmYP/AiNJIiCUtZoisioQ5yoPnrQ
VE82tPyDdHrGU8muyGZXZoU0mixuz6HuodeQRs7wnVglXkNNzBfIYCS3CvuXf/u4
lX67cTriBOviGuUTvh3OopmUvX9Ohq7JaHb7Hwe/EkX21pLz8gD5kdXwkesgzLzD
qgGff61sxCf+kpC/37KCJrc++bqv2FemJIw4FZs4mD9ghTWx6J4YiLHdTszhDCIl
bUEswj5UjjS6jdfex3CKCSY6PFEsXp8eEjII+C71NZLNcDKgZLQuR5zWGcRyYkyq
xxL6QQehPFWsktThy0wIynQNWmzHiovKPtGEI/1Y/6NLXQ7aTZe2Zvd6WammkCqc
dd4g4lMFaRAsWzMLFVJgi3sOjlY+rTpWVZjt7hOuZrUbCt+SKhXTAd6z+Y7OVwGp
x8ga6RUQQ9Qqyq8U/K8t+nCXoxPnlUpQOW4Z1oG4A7Vwt+YaaM4rliUlu5F6/6iB
Yp5zFr6w1HojytRF3Dox/LmfEZVDo66rNIm2XBl47HntiKTHRhryJUVQnXYbL37L
H7JcDlSDUMWYazCiTn80kmhLwvjDw/csuj5cQ1AEmIhqNvtR7lpzsRUgurkAjW9R
nPpMNf4xYdZLL5cdUtawEezi079CEQN4+BC1Aodcl9lPplJyrwIu61InFAcaGfYV
E8Uhn2IypPmGUpudDyfT
=XnsE
iQIcBAABCAAGBQJYXKXpAAoJEFAslq9JXcLZPHoP/jUuL0ghCk6BDS4vkLns8c7z
PwtpBz5f/rMyRyai9jkF6yGJfJGZ4kCPjN+FaZEkzfrsKURa6zpydpXBzPxSpl/t
D8PvofkBlMRgXf1p3pFL9fY6xSUoz7m1S/ZpSWrUWwNwzxFAZ3y3XRtxjNpM7t9r
rnoATifE4EezTLbMvnriCOLK+TXwtqDiFurIH3NDsz6OFJ6EQAib61GoZx334EYB
1Mwsg9HU6lc6/kXRIqX6PQVvkWE7vW1k7us5JgMU4VgS4qUzVhum03sgwm4rw+XD
pfF98h6CLBt7T6l64/Q0Xe4yJq4zolx4d5b/fAvrHOp8Nl+jmdUMhCkBO9Ur+Nkq
3vMyufnYn7MItVpZSwJr4f7gvaBnvjkZBBZfc8tjX0PZzbR7qkc8o0hGUFRp4IH9
NfBbmtOss4plMhriw2ORFA1T6Zv4ICbSbejDkWdyzLTE6bBwMBrFgXsjb5W9c5hD
/p+gBTA4y0dEaakezNNf+/iPlwQlATPOXS0a4h7+uLhm+Gqh57FuxN/jaozGFW1C
FmwOQw2TwjmxEInmEEeQdzukPbElhpdQVpETXNPP/D7VhFbgUtmiGrPS52yi0Klr
IjK9ufEVr6rmJI5acAKqX9T37S4i9j/2u5e3XnKvUoOZbEY91sRGiXJEbAKVhVio
OjXikSVF/lHznyzneg70
=+jJs
-----END PGP SIGNATURE-----