Skip to content

Commit

Permalink
update defaultPackagesList
Browse files Browse the repository at this point in the history
  • Loading branch information
kwindrem committed Feb 25, 2025
1 parent 51e6afb commit 0579a14
Show file tree
Hide file tree
Showing 10 changed files with 79 additions and 14 deletions.
30 changes: 24 additions & 6 deletions HelperResources/CommonResources
Original file line number Diff line number Diff line change
Expand Up @@ -1463,18 +1463,36 @@ if [ $scriptAction != 'UNINSTALL' ]; then
firstCompatibleVersion=$(cat "$scriptDir/firstCompatibleVersion")
# no first compatible version specified - use the default
else
firstCompatibleVersion='v2.71'
firstCompatibleVersion='v3.10'
fi
if [ -f "$scriptDir/obsoleteVersion" ]; then
obsoleteVersion=$(cat "$scriptDir/obsoleteVersion")
versionStringToNumber $obsoleteVersion
obsoleteVersionNumber=$versionNumber
else
obsoleteVersionNumber=9999999999999999
fi

versionStringToNumber $firstCompatibleVersion
firstCompatibleVersionNumber=$versionNumber
if (( $venusVersionNumber < $firstCompatibleVersionNumber )); then
setInstallFailed $EXIT_INCOMPATIBLE_VERSION "$venusVersion before first compatible $firstCompatibleVersion"
elif [ -f "$scriptDir/obsoleteVersion" ]; then
obsoleteVersion=$(cat "$scriptDir/obsoleteVersion")
versionStringToNumber $obsoleteVersion
obsoleteVersionNumber=$versionNumber
if (( $venusVersionNumber >= $obsoleteVersionNumber )); then
elif (( $venusVersionNumber >= $obsoleteVersionNumber )); then
setInstallFailed $EXIT_INCOMPATIBLE_VERSION "$venusVersion after last compatible $obsoleteVersion"
# validate firmware version if valid firmware version file exists
elif [ -e "$scriptDir/validFirmwareVersions" ]; then
incompatibleVersion=false
if ! grep -xq "$venusVersion" "$scriptDir/validFirmwareVersions" ; then
incompatibleVersion=true
fi
# user can override this from command line (for testing new versions mainly)
if $incompatibleVersion && $userInteraction ; then
if yesNoPrompt "$venusVersion not in the valid firmware list proceed any way (y/n)? " ; then
incompatibleVersion=false
fi
fi
if $incompatibleVersion ; then
setInstallFailed $EXIT_INCOMPATIBLE_VERSION "$venusVersion not in valid firmware list"
fi
fi

Expand Down
5 changes: 5 additions & 0 deletions PackageDevelopmentGuidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -775,11 +775,16 @@ If present **firstCompatibleVersion** identifies the first version that
IS compatible with this package. E.g., if firstCompatibleVersion
contains v8.0 and the current Venus OS version is v7.2, the package
can't be installed.
If **firstCompatibleVersion** is not present, SetupHelper uses v3.10 as the first compatible version.
Note that if both **firstCompatibleVersion** and **obsoleteVersion** are
included in the package directory, the obsoleteVersion must be greater
than firstCompatibleVersion.
If present **validFirmwareVersions** identifies all versions which have been
tested as compatible with the package. It is a list of Venus OS versions, one per line.
If this file is present, **firstCompatibleVersion** and **obsoleteVersion** are redundant.
If the file **raspberryPiOnly** exists in the package directory, the
platform (aka 'machine') MUST be raspberrypi2 or raspberrypi4. If not,
installation will be blocked.
Expand Down
12 changes: 12 additions & 0 deletions PackageManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -1954,6 +1954,18 @@ def UpdateVersionsAndFlags (self, doConflictChecks=False, doScriptPreChecks=Fals
self.SetIncompatible ("incompatible with " + VenusVersion)
compatible = False
doConflictChecks = False
elif os.path.exists (packageDir + "/validFirmwareVersions"):
with open(packageDir + "/validFirmwareVersions") as f:
lines = f.readlines ()
versionPresent = False
for line in lines:
if line.strip() == VenusVersion:
versionPresent = True
break
if not versionPresent:
self.SetIncompatible ("incompatible with " + VenusVersion)
compatible = False
doConflictChecks = False

# check to see if command line is needed for install
# the optionsRequired flag in the package directory indicates options must be set before a blind install
Expand Down
2 changes: 1 addition & 1 deletion blindInstall/SetupHelperVersion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v8.27~1
v8.28
4 changes: 4 additions & 0 deletions changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
v8.28: (pending)
remove venus-os_ngrok from default package list
first compatible version is now v3.10

v8.27:
support the change to QtQuick 2 first used in v3.60~18

Expand Down
1 change: 0 additions & 1 deletion defaultPackageList
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,4 @@ DCSystemAggregator pulquero latest
gatt-exec-server pulquero latest
dbus-pi pulquero latest
FroniusSmartmeter SirUli main
venus-os_ngrok mr-manuel latest
RemoteGPIO Lucifer06 main
37 changes: 32 additions & 5 deletions updatePackage
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,10 @@ if [ "$globalEndAction" == "restore" ]; then
if [ -e "$backupVeLib" ]; then
mv -f "$backupVeLib" "$sourceVeLib"
fi
#### TODO: delayed implementaiton
####if [ -e "$backupDirectory/validFirmwareVersions" ]; then
#### mv -f "$backupDirectory/validFirmwareVersions" "$sourceDirectory/validFirmwareVersions"
####fi
deleteNestedDirectories $backupDirectory
done
exit
Expand Down Expand Up @@ -494,6 +498,7 @@ for package in $packageList; do
versionIndependentFileSet="$workingFiles/VersionIndependent"
sourceVeLib="$sourceDirectory/velib_python"
workingVeLib="$workingDirectory/velib_python"
backupVeLib="$backupDirectory/velib_python"

if [ ! -d "$sourceDirectory" ] || [ ! -f "$sourceDirectory/version" ]; then
logMessage "WARNING: $sourceDirectory - not a package directory - skipping"
Expand Down Expand Up @@ -533,9 +538,9 @@ for package in $packageList; do
fi
if [ -f "$sourceDirectory/firstCompatibleVersion" ]; then
firstCompatibleVersion=$(cat "$sourceDirectory/firstCompatibleVersion")
# limit packages to v2.71 and newer
# limit packages to v3.10 and newer
else
firstCompatibleVersion='v2.71'
firstCompatibleVersion='v3.10'
fi
if versionStringToNumber $firstCompatibleVersion ; then
firstVersionNumber=$versionNumber
Expand Down Expand Up @@ -587,6 +592,15 @@ for package in $packageList; do
rm -f "$workingFiles"/*CHECK_ALT_ORIG
rm -f "$workingFiles"/*/*CHECK_ALT_ORIG

#### TODO: delayed implementaiton # create valid firmware version list
####rm -f "$workingDirectory/validFirmwareVersions"
####for (( i1 = 0; i1 < $stockVersionListLength; i1++ )); do
#### IFS=':' read version versionNumber <<< "${stockVersionList[$i1]}"
#### if (( versionNumber >= firstCompatibleVersionNumber )) && (( versionNumber < obsoleteVersionNumber )) ; then
#### echo $version >> "$workingDirectory/validFirmwareVersions"
#### fi
####done

# update velib_python
if [ -e "$workingVeLib" ]; then
beginProgress "updating velib_python"
Expand Down Expand Up @@ -1332,10 +1346,14 @@ for package in $packageList; do
mv "$sourceFiles" "$backupFiles"
fi
sourceVeLib="$sourceDirectory/velib_python"
workingVeLib="$workingDirectory/velib_python"
if [ -d "$workingVeLib" ]; then
mv -f "$workingVeLib" "$sourceVeLib"
backupVeLib="$backupDirectory/velib_python"
if [ -d "$sourceVeLib" ]; then
mv -f "$sourceVeLib" "$backupVeLib"
fi
#### TODO: delayed implementaiton
####if [ -e "$sourceDirectory/validFirmwareVersions" ]; then
#### mv -f "$sourceDirectory/validFirmwareVersions" "$backupDirectory/validFirmwareVersions"
####fi
else
logMessage "$package: $backupName unchanged"
fi
Expand All @@ -1349,6 +1367,15 @@ for package in $packageList; do
logMessage "$package: removing HelperResources"
deleteNestedDirectories "$sourceDirectory/HelperResources"
fi
sourceVeLib="$sourceDirectory/velib_python"
workingVeLib="$backupDirectory/velib_python"
if [ -d "$workingVeLib" ]; then
mv -f "$workingVeLib" "$sourceVeLib"
fi
#### TODO: delayed implementaiton
####if [ -e "$workingDirectory/validFirmwareVersions" ]; then
#### mv -f "$workingDirectory/validFirmwareVersions" "$sourceDirectory/validFirmwareVersions"
####fi
deleteNestedDirectories "$workingDirectory"
;;
*)
Expand Down
Binary file modified venus-data-UninstallPackages.tgz
Binary file not shown.
Binary file modified venus-data.tgz
Binary file not shown.
2 changes: 1 addition & 1 deletion version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v8.27
v8.28

0 comments on commit 0579a14

Please sign in to comment.