- package: tis-opencpn
- name: opencpn
- version: 5.12.2-1
- categories: Utilities
- maintainer: WAPT Team,Tranquil IT, Ingrid TALBOT
- editor: OpenCPN Development Team
- licence: opensource_free,wapt_public
- locale: all
- target_os: windows
- impacted_process: opencpn-cmd,opencpn
- architecture: all
- signature_date:
- size: 38.54 Mo
- installed_size: 115.53 Mo
- homepage : https://opencpn.org/
package : tis-opencpn
version : 5.12.2-1
architecture : all
section : base
priority : optional
name : opencpn
categories : Utilities
maintainer : WAPT Team,Tranquil IT, Ingrid TALBOT
description : OpenCPN Chart Plotter Navigation
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.3
sources : https://github.com/OpenCPN/OpenCPN/releases
installed_size : 115529998
impacted_process : opencpn-cmd,opencpn
description_fr : Navigation sur traceur de cartes OpenCPN
description_pl : Nawigacja za pomocą plotera nawigacyjnego OpenCPN
description_de : OpenCPN Kartenplotter Navigation
description_es : OpenCPN Chart Plotter Navegación
description_pt : Navegação OpenCPN Chart Plotter
description_it : Navigazione con plotter cartografico OpenCPN
description_nl : OpenCPN Kaartplotter Navigatie
description_ru : Картплоттерная навигация OpenCPN
audit_schedule :
editor : OpenCPN Development Team
keywords : navigation
licence : opensource_free,wapt_public
homepage : https://opencpn.org/
package_uuid : 81e79c2e-8a1b-40f6-908f-b4be07e11bfd
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/OpenCPN/OpenCPN/blob/master/data/changelog
min_os_version : 6.1
max_os_version :
icon_sha256sum : d642b35ce6441158dc071677fb958ad01830271d373c332d64e48dec67f80834
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-08-08T06:01:30.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : JvSYnmPIzN/M5DnbP2qtawMU+glQEIVuJAfjzvi2jCo0nTqyFPcSyc7m96B7Sa8AOV1tFjDOe96aykumCG2VF3LDZSL/HH/s6kicm4zhO+qH5bFoN8UyuSmkVWyDi1ZNYebq7l/4l45hjpRdZATUA4x8opUEtVPh0hnU+oMP9wU9gkPc+o/phsxmBNGwwEgLyAbHL3+RboU61wC+ekBTH2DcZOq9Vd1RwpcnhGkrj5gSrehsRXOUK5bLDj2zF0tesAi4/ZsaLMmZQ4s40XtVoryYuAKmCFryZ7Wkomd5Litc/PwLDmNqDD+xQKIXCgKBXDh8a9CStzPPIA7ZlVe0hQ==
# -*- coding: utf-8 -*-
'''
"key":"OpenCPN 5.10.0-0+860222c",
"name":"OpenCPN 5.10.0-0+860222c",
"version":"5.10.0-0+860222c",
"install_date":"2024-08-12 00:00:00",
"install_location":"C:\\Program Files (x86)\\OpenCPN",
"uninstall_string":"\"C:\\Program Files (x86)\\OpenCPN\\Uninstall 5.10.0-0+860222c.exe\"",
"publisher":"opencpn.org",
"system_component":0,
"win64":False
'''
from setuphelpers import *
def install():
bin_name = glob.glob("opencpn_*_setup.exe")[0]
bin_version = bin_name.split("_")[1].split("+")[0]
bin_key = bin_name.rsplit("_")[-2].rsplit(".")[-1]
app_uninstallkey = "OpenCPN " + bin_version + "+" + bin_key
# Uninstalling other versions of the software
for to_uninstall in installed_softwares("opencpn"):
if Version(to_uninstall["version"]) != Version(control.get_software_version()) or force:
print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
try:
killalltasks(ensure_list(control.impacted_process))
quiet_uninstall_string = (installed_softwares(uninstallkey=to_uninstall["key"])[0]["uninstall_string"] + r'/S')
run(quiet_uninstall_string)
wait_uninstallkey_absent(to_uninstall["key"])
except Exception as e:
print(e)
print("Remove failed: %s (%s)\nContinuing..." % (to_uninstall["name"], to_uninstall["version"]))
install_exe_if_needed(
bin_name,
silentflags="/S",
key= app_uninstallkey,
min_version="",
timeout=600,
accept_returncodes=[0, 3010, 1223],
)
# Adding QuietUninstallString
quiet_uninstall_string = installed_softwares(uninstallkey=app_uninstallkey)[0]["uninstall_string"] + " /S"
register_uninstall(app_uninstallkey, quiet_uninstall_string=quiet_uninstall_string)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
api_url = "https://api.github.com/repos/OpenCPN/OpenCPN/releases/latest"
download_dict = {
"windows-all": "setup.exe",
}
download_str = download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]]
# Getting latest version information from official sources
print("API used is: %s" % api_url)
json_load = wgets(api_url, proxies=proxies, as_json=True)
version = json_load["tag_name"].split("_")[1]
for to_download in json_load["assets"]:
if download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]] in to_download["name"]:
download_url = to_download["browser_download_url"]
latest_bin = to_download["name"]
break
# Downloading latest binaries
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Deleting outdated binaries
remove_outdated_binaries(latest_bin)
# arch_list = ensure_list(control.architecture)
# remove_outdated_binaries(version, filename_contains=("x64" if "x64" in arch_list else "x86" if "x86" in arch_list else []))
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Validating update-package-sources
return package_updated
# # Changing version of the package and validating update-package-sources
# return complete_control_version(control, version)
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 : WAPT/changelog.txt
0d96d1acf6988e78d9d17277e639692360791ce5e7d304dda36ef4193e511df2 : WAPT/control
d642b35ce6441158dc071677fb958ad01830271d373c332d64e48dec67f80834 : WAPT/icon.png
c655640ecee8d3e3feabd616d067deba9d889ab0fcd420017c161ec83bbe378a : luti.json
432ee0fd771a901262371aed217ac617f70db45b8f8ee0a5068cf9a4d2ba05be : opencpn_5.12.2-0+3513.b69f44c_setup.exe
b425a04387b99f8e46ce885afcf90b64fd0e0eb17f71752415bb28ef97eb942c : setup.py
63d46ce5d223cef8b02fcd0c17347f8d809ebd582ec36d604c23d445fd1fbab0 : update_package.py