tis-projectlibre icon

ProjectLibre

Silent install package for ProjectLibre

1.9.8-6

  • package: tis-projectlibre
  • name: ProjectLibre
  • version: 1.9.8-6
  • categories: Office
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • licence: CPAL
  • locale: all
  • target_os: windows
  • impacted_process: ProjectLibre
  • architecture: x64
  • signature_date:
  • size: 76.91 Mo
  • installed_size: 223.85 Mo
  • homepage : http://www.projectlibre.com/

package           : tis-projectlibre
version           : 1.9.8-6
architecture      : x64
section           : base
priority          : optional
name              : ProjectLibre
categories        : Office
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : ProjectLibre is a free and open-source project management software
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://sourceforge.net/projects/projectlibre/files/
installed_size    : 223854592
impacted_process  : ProjectLibre
description_fr    : ProjectLibre est un outil open source de planification de projet
description_pl    : ProjectLibre to darmowe i open-source'owe oprogramowanie do zarządzania projektami
description_de    : ProjectLibre ist eine freie und quelloffene Projektmanagementsoftware
description_es    : ProjectLibre es un software de gestión de proyectos gratuito y de código abierto
description_pt    : ProjectLibre é um software de gestão de projectos gratuito e de código aberto
description_it    : ProjectLibre è un software di gestione dei progetti gratuito e open-source
description_nl    : ProjectLibre is een gratis en open-source project management software
description_ru    : ProjectLibre - это бесплатное программное обеспечение для управления проектами с открытым исходным кодом
audit_schedule    : 
editor            : 
keywords          : 
licence           : CPAL
homepage          : http://www.projectlibre.com/
package_uuid      : 3acd035c-18c8-454f-a82c-d37c82254046
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : d9a499823d03ac8c653f0eb6f2ef1dfcdaf6aeca2834e2ee8d63da12f05c52a3
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-05-10T09:22:08.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         : JE3FQHAuONUv7R+FjcitjStNScuOMZ5pTxONkOOJDWujuASAis7bViryCuVGnWRjiwQPQANCUfR7kj4sADZFJrhTDjvAlZPKiqoGFMU6a/kxYLxID41jzf2+PsXlXXX4ISX9HoJpebqkT5tG4bMpVLkHHY1a6RYP9N8JiPIVBeCKBONQZjKXQ+ltNmuMwaQN+O3rbCeCuwQdssFr0gE6fHtaYMrHqoLgxLlsh18/3kHyaKZhBUI/jDF14KjcoLpgtZoIOlQkmQY6ugIfcR3Y61eyMR4vciO2JHoQb2Mx4WDCD/HKGce9MwooKaV62dHmKo8TWNdp+KETR5CVr3Ba+g==

# -*- coding: utf-8 -*-
from setuphelpers import *

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls


def install():

    # # Uninstalling the software
    for to_uninstall in installed_softwares("ProjectLibre"):
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])


    # Declaring local variables
    bin_name = glob.glob("*projectlibre-*.msi")[0]

    # Installing the software
    print("Installing: %s" % bin_name)
    install_exe_if_needed(
        bin_name,
        name="ProjectLibre",
        min_version=control.get_software_version(),
    )

# -*- coding: utf-8 -*-
from setuphelpers import *
import json

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = "projectlibre-"


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    api_url = "https://sourceforge.net/projects/projectlibre/best_release.json"

    # Getting latest version information from official sources
    print("API used is: %s" % api_url)
    json_load = json.loads(wgets(api_url, proxies=proxies))
    if ".msi" in json_load["platform_releases"][control.target_os]["filename"] :
        download_url = json_load["platform_releases"][control.target_os]["url"]
        version = json_load["platform_releases"][control.target_os]["filename"].split("/")[-2]
        latest_bin = json_load["platform_releases"][control.target_os]["filename"].split("/")[-1]

    print("Latest %s version is: %s" % (app_name, version))
    print("Download URL is: %s" % download_url)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url,latest_bin,connect_timeout=30, proxies=proxies)

        # Checking version from file
        version_from_file = get_version_from_binary(latest_bin)
        # if not version_from_file.startswith(version) and version_from_file != '':
        if Version(version_from_file) != Version(version) and version_from_file != "":
            print("Changing version to the version number of the binary (from: %s to: %s)" % (version, version_from_file))
            os.rename(latest_bin, bin_contains + version_from_file + ".exe")
            version = version_from_file
        else:
            print("Binary file version corresponds to online version")

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        result = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    # control.set_software_version(version)
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating update-package-sources
    return result

32e46ba3ce7b3a81dc8ec648f6baf8f6f6056c8cf9203f75f8187e9e4637833f : ProjectLibre-1.9.8.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
290cd8f3d7285688e9a9a39f8d7cbd11c1b06971e484cabc97123438232138b4 : WAPT/control
d9a499823d03ac8c653f0eb6f2ef1dfcdaf6aeca2834e2ee8d63da12f05c52a3 : WAPT/icon.png
a382cd57f3e3a9895c0538d0d5e048178a085e9c631e0558501b0e8fb2c9364a : luti.json
f854827a72b2ca7dc863b25bf97bee6ab456861b84cbf32d72796498b2f0b62b : setup.py
23501160d7467b296425abe651997f078d49afbe6afbe1607e58244e9553cc43 : update_package.py