Check-in [30f6328ac1]
Not logged in
Overview
Comment:Begin work on modularization of the 'checkForHigherVersion' procedure.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | pending
Files: files | file ages | folders
SHA1: 30f6328ac15c388699299d913f2bb7d3b8d31d2c
User & Date: mistachkin on 2020-03-25 17:21:16
Other Links: branch diff | manifest | tags
Context
2020-03-25
17:30
More work-in-progress. check-in: 44676f92a6 user: mistachkin tags: pending
17:21
Begin work on modularization of the 'checkForHigherVersion' procedure. check-in: 30f6328ac1 user: mistachkin tags: pending
17:14
By default, prevent the 'getPackageFile' procedure from returning the content of a Fossil error page. check-in: 778b91ce22 user: mistachkin tags: pending
Changes

Modified client/1.0/neutral/pkgd.eagle from [33e5121139] to [233d36365e].

1527
1528
1529
1530
1531
1532
1533






















1534
1535
1536
1537
1538
1539
1540
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







          "returning temporary directory name \"" $result \
          "\" for prefix \"" $prefix \"...]
    }

    return $result
  }

  #
  # NOTE: This procedure attempts to extract a package version information
  #       from the specified file.  The fileName argument is the local file
  #       name to read.  This procedure may raise script errors.
  #
  proc extractVersionFromFile { fileName } {
    switch -exact -- [file tail $fileName] {
      VERSION {
        return [string trim [readFile $fileName]]
      }
      pkgIndex.eagle -
      pkgIndex.tcl {
        #
        # TODO: Evaluate the package index file in a new "safe"
        #       interpreter and obtain the newly added [package
        #       ifneeded] version(s)?
        #
        return ""
      }
    }
  }

  #
  # NOTE: This procedure checks if there is a higher version available of the
  #       specified package on the package file server.  The language argument
  #       must be one of the literal strings "eagle", "tcl", or "client".  The
  #       version argument must be one of the literal strings "8.4", "8.5", or
  #       "8.6" when the language is "tcl" -OR- the literal string "1.0" when
  #       the language is either "eagle" or "client".  The platform argument
1578
1579
1580
1581
1582
1583
1584
1585
1586


1587
1588
1589
1590
1591
1592
1593
1600
1601
1602
1603
1604
1605
1606


1607
1608
1609
1610
1611
1612
1613
1614
1615







-
-
+
+







          [appendArgs $fileName .asc] \
          [appendArgs $downloadFileName .asc] $usePgp
    }

    set localFileName [file join $persistentDirectory $fileName]

    set compare [package vcompare \
        [string trim [readFile $downloadFileName]] \
        [string trim [readFile $localFileName]]]
        [extractVersionFromFile $downloadFileName] \
        [extractVersionFromFile $localFileName]]

    if {[isEagle]} then {
      file delete -recursive -- $temporaryDirectory
    } else {
      file delete -force -- $temporaryDirectory
    }