tis-wsl2-debian

1.12.1.0-16
Sous-système Windows de Debian pour Linux 2
2186 téléchargements
Télécharger
Voir le résultat de la construction Voir l'analyse de VirusTotal
tis-wsl2-debian icon
  • package : tis-wsl2-debian
  • name : Debian WSL 2
  • version : 1.12.1.0-16
  • categories : System and network
  • maintainer : WAPT Team,Tranquil IT,Jimmy PELE,Simon Fonteneau
  • editor :
  • licence :
  • locale : all
  • target_os : windows
  • impacted_process :
  • architecture : all
  • signature_date : 2022-07-25 04:31
  • size : 172.71 Mo
  • depends :
  • conflicts :
package           : tis-wsl2-debian
version           : 1.12.1.0-16
architecture      : all
section           : base
priority          : optional
name              : Debian WSL 2
categories        : System and network
maintainer        : WAPT Team,Tranquil IT,Jimmy PELE,Simon Fonteneau
description       : Debian Windows Subsystem for Linux 2
depends           : tis-wsl2
conflicts         : tis-wsl-debian,tis-virtualbox
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : Sous-système Windows de Debian pour Linux 2
description_pl    : Debian Windows Subsystem for Linux 2
description_de    : Debian Windows-Subsystem für Linux 2
description_es    : Subsistema Debian Windows para Linux 2
description_pt    : Subsistema Debian Windows para Linux 2
description_it    : Sottosistema Debian Windows per Linux 2
description_nl    : Debian Windows Subsystem voor Linux 2
description_ru    : Подсистема Debian Windows для Linux 2
audit_schedule    : 
editor            : 
keywords          : 
licence           : 
homepage          : 
package_uuid      : cc5c74db-2e03-4eba-bf60-c4310613987f
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10
max_os_version    : 
icon_sha256sum    : 40876beff218404c8ffda4379324506fd1ead4ed40ac4af5bffcec443748a6a2
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : LtL04J5olb8BPAKhmkgqtiMpemXuV7K9Dz6Gxovwgco0QVJwkZ/CbdCwIxBzSxAJOwRBEf0z8mbugIXcHaqmj7qbxX04yNn+7PE/Alim2E3eIf64pzqFy+6PAIVCDcBNYGNlZvEKpgIBj0rd48vN5+xwLrc5k/cMQB9LdIvtNfbD7qB0iLZLZhkqB4D6r02eOo/KtjEKJ0jql9r+o3NvEV+DuJlHpUp5dOoXKC9XgkNScnSb7eg8zbWOSwAnXRJx41Jw6fjONPsQqhQ+Y8xsr+2cG9RgCSlY7ZJWqrI3pl6EOBRXZlcfolLPgqWYRm8cZWXcbbiM4J+BW9HYQJBseA==
signature_date    : 2022-07-25T04:31:01.419833
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
# -*- coding: utf-8 -*-
from setuphelpers import *

bin_name_string = "DebianGNULinux_%s.Appx"
package_name = "TheDebianProject.DebianGNULinux"


def set_variables():
    # Declaring variables
    global package_version
    package_version = control.version.split("-")[0]
    global bin_name
    bin_name = bin_name_string % package_version
    global app_name
    app_name = control.name
    global wsl_dir
    wsl_dir = makepath(programfiles, "WSL")
    global wsl_debian
    wsl_debian = makepath(wsl_dir, bin_name)


def install():
    # Initializing variables
    set_variables()

    # Installing the package
    if not isdir(wsl_dir):
        mkdirs(wsl_dir)
    for bin_in_dir in glob.glob(makepath(wsl_dir, "*ebian*")):
        if bin_in_dir != wsl_debian:
            print("Removing %s" % bin_in_dir)
            remove_file(bin_in_dir)

    if not isfile(wsl_debian):
        print("Copying %s in %s " % (bin_name, wsl_dir))
        filecopyto(bin_name, wsl_dir)


def uninstall():
    # Initializing variables
    set_variables()

    # Uninstalling the package
    print("Removing %s for all users" % package_name)
    run_powershell("Get-AppxPackage -Name %s -AllUsers | Remove-AppxPackage" % package_name)


def session_setup():
    # Initializing variables
    set_variables()

    # Install the Appx in user environment
    try:
        installed_wsl_debian_version = run_powershell('Get-AppxPackage -Name "%s" | Select-Object version' % package_name)["Version"]
    except:
        installed_wsl_debian_version = "0.0.0"

    if package_version > installed_wsl_debian_version:
        print("Installing %s for the current user" % app_name)
        run_powershell('Add-AppxPackage -Path "%s"' % wsl_debian)

    # Upgrading WSL Debian to WSL 2
    # Upgrade procedure: https://docs.microsoft.com/en-us/windows/wsl/install-win10#set-your-distribution-version-to-wsl-1-or-wsl-2
    if windows_version() >= "10.0.19041":
        try:
            print("Upgrading Debian to WSL 2")
            run_powershell("wsl --set-version Debian 2")
        except:
            print("Debian is already in WSL 2, or the upgrade do not complete")
    else:
        print("You need Windows 10 version 2004 minimum for upgrading Debian to WSL 2")
# -*- coding: utf-8 -*-
from setuphelpers import *
import platform
import xml.etree.ElementTree as ET

bin_name_string = "DebianGNULinux_%s.Appx"


def set_variables():
    # Declaring variables
    global package_version
    package_version = control.version.split("-")[0]
    global bin_name
    bin_name = bin_name_string % package_version
    global app_name
    app_name = control.name
    global wsl_dir
    wsl_dir = makepath(programfiles, "WSL")
    global wsl_debian
    wsl_debian = makepath(wsl_dir, bin_name)


def update_package():
    print("Download/Update package content from upstream binary sources")

    # Getting proxy informations from WAPT settings
    proxy = {}
    if platform.system() == "Windows" and isfile(makepath(user_local_appdata(), "waptconsole", "waptconsole.ini")):
        proxywapt = inifile_readstring(makepath(user_local_appdata(), "waptconsole", "waptconsole.ini"), "global", "http_proxy")
        if proxywapt:
            proxy = {"http": proxywapt, "https": proxywapt}

    # Initializing variables
    set_variables()
    latest_bin = bin_name_string.split("_")[0] + ".Appx"
    url_dl = "https://aka.ms/wsl-debian-gnulinux"

    print("Download url is: " + url_dl)

    # Downloading latest binaries
    if isfile(latest_bin):
        remove_file(latest_bin)
    if not isfile(latest_bin):
        print("Downloading: " + latest_bin)
        wget(url_dl, latest_bin, proxies=proxy)

        # Unzip to get file version
        unzip(latest_bin, target="debian_wsl_temp")

        # Checking version from file
        xml_to_read = ET.parse(r"debian_wsl_temp\AppxMetadata\AppxBundleManifest.xml")
        xml_content = xml_to_read.getroot()

        for vers in xml_content.getchildren():
            if vers.get("Name") == "TheDebianProject.DebianGNULinux":
                version_from_file = vers.get("Version")

        version = version_from_file
        old_latest_bin = latest_bin
        latest_bin = bin_name_string % version
        if isfile(latest_bin):
            remove_file(latest_bin)
        os.rename(old_latest_bin, latest_bin)
        print("Verified latest " + app_name + " version is: " + version)

        # Removing temp folder
        remove_tree("debian_wsl_temp")

        # Changing version of the package
        control.version = "%s-%s" % (version, int(control.version.split("-")[-1]) + 1)
        control.save_control_to_wapt()
        print("Changing version to " + control.version + " in WAPT\\control")

    # Deleting outdated binaries
    for bin_in_dir in glob.glob("*.Appx"):
        if bin_in_dir != latest_bin:
            print("Outdated binary: " + bin_in_dir + " Deleted")
            remove_file(bin_in_dir)
30c6ddfac72d010bde846f749d2bc7af70db5cd159cef2568c17ba09ac7d351f : setup.py
164625c61e6a0ab5110627a62603c046a92ca29ff7b74c6d6ff1b9299fd5f5e3 : DebianGNULinux_1.12.1.0.Appx
b4ab979ffb2df24e8bd5ac85057fd39214e71ee34777060f0cbe0fec66b4ca48 : update_package.py
40876beff218404c8ffda4379324506fd1ead4ed40ac4af5bffcec443748a6a2 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
0ca71d3e87ca579b6856936b9d96902f67669f1a406cc5ef76b1868340bd52c2 : luti.json
be55d6044ca3ab73ff83dead86a81a0ebf2e4a625f87af97764a4db94ac8cc2a : WAPT/control