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
|
#
# <public>
proc stagePackageFiles { language version platform fileNames } {
variable checkoutDirectory
variable fossilAddCommand
if {![verifyThereAreNoChanges]} then {
error "cannot stage package files: there are pending changes"
}
if {![verifyThisIsTheCorrectProject]} then {
error "cannot stage package files: wrong project"
}
if {![verifyThisIsTheCorrectBranch]} then {
changeToTheCorrectBranch
if {![verifyThisIsTheCorrectBranch]} then {
error "cannot stage file: still on wrong branch"
}
}
set relativeFileNames [getRelativeFileNames $fileNames]
foreach fileName $fileNames relativeFileName $relativeFileNames {
file mkdir [file join \
$checkoutDirectory $language $version $platform \
[file dirname $relativeFileName]]
file copy $fileName \
[file join $checkoutDirectory $relativeFileName]
|
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
|
|
|
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
|
#
# <public>
proc stagePackageFiles { language version platform fileNames } {
variable checkoutDirectory
variable fossilAddCommand
if {![verifyThereAreNoChanges]} then {
error "cannot stage files: there are pending changes"
}
if {![verifyThisIsTheCorrectProject]} then {
error "cannot stage files: wrong project"
}
if {![verifyThisIsTheCorrectBranch]} then {
changeToTheCorrectBranch
if {![verifyThisIsTheCorrectBranch]} then {
error "cannot stage files: still on wrong branch"
}
}
set newFileNames [list]
foreach fileName $fileNames {
if {![createOpenPgpSignature $fileName]} then {
error [appendArgs \
"cannot stage file \"" $fileName "\": OpenPGP signing failed"]
}
lappend newFileNames $fileName
lappend newFileNames [appendArgs $fileName .asc]
}
set relativeFileNames [getRelativeFileNames $newFileNames]
foreach fileName $newFileNames relativeFileName $relativeFileNames {
file mkdir [file join \
$checkoutDirectory $language $version $platform \
[file dirname $relativeFileName]]
file copy $fileName \
[file join $checkoutDirectory $relativeFileName]
|
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
|
variable argumentData
if {[isEagle]} then {
set sender [lindex $args 0]; # NOTE: Disposal.
set e [lindex $args 1]; # NOTE: Disposal.
}
puts stdout "SUBMIT CLICKED"
}
#
# NOTE: This procedure is an event handler. It handles the clear button in
# Tk and Eagle. It is used to clear the package submission data. The
# args argument is not really used, it is a placeholder to make this
# procedure more portable between Tcl and Eagle. This procedure may
|
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
|
variable argumentData
if {[isEagle]} then {
set sender [lindex $args 0]; # NOTE: Disposal.
set e [lindex $args 1]; # NOTE: Disposal.
}
if {[haveArgumentData]} then {
set apiKey $argumentData(apiKey)
set package $argumentData(package)
set patchLevel $argumentData(patchLevel)
set language $argumentData(language)
set version $argumentData(version)
set platform $argumentData(platform)
set fileNames $argumentData(fileNames)
::PackageRepository::probeForOpenPgpInstallation
::PackageRepository::openPgpMustBeInstalled
#
# NOTE: THIS BLOCK REFERS TO SEVERAL UNTESTED PROCEDURES.
#
if {0} then {
stagePackageFiles $language $version $platform $fileNames
if {![commitPackageFiles \
$package $patchLevel $language $version checkin]} then {
error "failed to commit package files"
}
set script [createRepositoryScript \
"" $checkin $language $version $platform $fileNames [list]]
set scriptFileName [file join \
[::PackageRepository::getFileTempDirectory PKGR_UPLOAD_TEMP] \
[appendArgs pkgr_upload_ [::PackageRepository::getUniqueSuffix]]]
writeFile $scriptFileName $script
if {![createOpenPgpSignature $scriptFileName]} then {
error [appendArgs \
"cannot submit package metadata: OpenPGP signing of \"" \
$scriptFileName "\" failed"]
}
set certificate [readFile [appendArgs $scriptFileName .asc]]
submitPackageMetadata \
$apiKey $package $patchLevel $language $script $certificate
}
} else {
error "cannot initiate package submission: one or more fields missing"
}
}
#
# NOTE: This procedure is an event handler. It handles the clear button in
# Tk and Eagle. It is used to clear the package submission data. The
# args argument is not really used, it is a placeholder to make this
# procedure more portable between Tcl and Eagle. This procedure may
|