tis-compile-ipxe icon

iPXE

Paquet d’installation silencieuse pour iPXE

0.0.7341-6

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-compile-ipxe
  • name: iPXE
  • version: 0.0.7341-6
  • maintainer: sfonteneau
  • locale: all
  • target_os: windows,linux
  • architecture: all
  • signature_date:
  • size: 1.84 Mo
  • homepage : https://github.com/ipxe/ipxe

package           : tis-compile-ipxe
version           : 0.0.7341-6
architecture      : all
section           : base
priority          : optional
name              : iPXE
categories        : 
maintainer        : sfonteneau
description       : 
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows,linux
min_wapt_version  : 
sources           : https://github.com/ipxe/ipxe/commit/e783adcfd4641bda48aae5a59fc5cf391d4239b8
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          : https://github.com/ipxe/ipxe
package_uuid      : 2e06bc7e-0859-4ba9-b599-63f772191277
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 17e00f040b502c45652e4e7348b4c38ab9d9dda43e3af332da16f38c62598694
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-02-11T17:24:42.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         : TSrkZRNmGrSjfH5Bdx4HYbIt4Z88F4/KlHm4BaFFWLvOKcxDJk+Aly61zKDHJ8hT3OMIrOSs0/8Fpfsk0Gmz0dqj/9BKKq1eaTFpQGwJyC1ZskTPTm9pT9wuauDsinQweFag2cW/HZL6NeAs/W8XYW/3qXffGKkm+9u7fjU38RG+kPm7uWTRfqkfUVXCudIqHqTUsT8QJdljVnVJc4UxHeyuCcbDfjDk0Et5H1z/rQ2L4rlq64dDq7H9bs0guqyC3eyxf5/wNp6riHBiVLyiO0oI4UPTVAml1LG6PBvDlmQfV213fL8E5drH5bhsY933NWMs1YqKCryzp033Pb8pAg==

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

def install():

    wads_folder = makepath(WAPT.wapt_base_dir, 'waptserver', 'repository', 'wads')

    if platform.system() == 'Linux':
        if type_debian():
            wads_folder = '/var/www/wads'
        elif type_redhat():
            wads_folder = '/var/www/html/wads'

    iniwaptserver =  makepath(WAPT.wapt_base_dir,'conf','waptserver.ini')
    if isfile(iniwaptserver):
        inivalue = inifile_readstring(iniwaptserver,"options","wads_folder")
        if inivalue :
            wads_folder = inivalue

    if isdir(makepath(wads_folder,'pxe')):
        filecopyto("ipxe.efi",makepath(wads_folder,"pxe","ipxe_github.efi"))
        filecopyto("snponly.efi",makepath(wads_folder,"pxe","snponly_github.efi"))
        filecopyto("snponlyarm64.efi",makepath(wads_folder,"pxe","snponlyarm64_github.efi"))
        filecopyto("ipxearm64.efi",makepath(wads_folder,"pxe","ipxearm64_github.efi"))
        filecopyto("undionly.kpxe",makepath(wads_folder,"pxe","undionly_github.kpxe"))
        filecopyto("ipxe.kpxe",makepath(wads_folder,"pxe","ipxe_github.kpxe"))
        if platform.system() == 'Linux':
            if type_debian():
                nginx_user = 'www-data'
            elif type_redhat():
                nginx_user = 'nginx'
            run('chown wapt:%s "%s"' %  (nginx_user,makepath(wads_folder,"pxe","ipxe_github.efi")))
            run('chown wapt:%s "%s"' %  (nginx_user,makepath(wads_folder,"pxe","snponly_github.efi")))
            run('chown wapt:%s "%s"' %  (nginx_user,makepath(wads_folder,"pxe","snponlyarm64_github.efi")))
            run('chown wapt:%s "%s"' %  (nginx_user,makepath(wads_folder,"pxe","ipxearm64_github.efi")))
            run('chown wapt:%s "%s"' %  (nginx_user,makepath(wads_folder,"pxe","undionly_github.kpxe")))
            run('chown wapt:%s "%s"' %  (nginx_user,makepath(wads_folder,"pxe","ipxe_github.kpxe")))
    else:
        print('SKIP Folder %s not exist' % makepath(wads_folder,'pxe'))




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

release_only = False

def update_package():
    list_package = ['git','build-essential','zlib1g-dev','binutils-dev','gcc','liblzma-dev','make',"gcc-aarch64-linux-gnu" ,"binutils-aarch64-linux-gnu"]
    print('install %s' % ' '.join(list_package))
    install_apt(' '.join(list_package))
    tmpdir='/tmp'

    mkdirs('%s/ipxe' % tmpdir)
    run('git clone https://github.com/ipxe/ipxe.git %s/ipxe' % tmpdir)

    if release_only:
        hashgit = json.loads(wgets('https://api.github.com/repos/ipxe/ipxe/tags'))[0]['commit']['sha']
        run('git -C %s/ipxe reset --hard %s --' % (tmpdir,hashgit))

    print('custom ipxe')
    with open('%s/ipxe/src/config/console.h' % tmpdir,'r') as f:
        data = f.read()
    data = data.replace('#define	KEYBOARD_MAP	us','#define	KEYBOARD_MAP	dynamic')

    with open('%s/ipxe/src/config/console.h' % tmpdir,'w') as f:
        f.write(data)

    print('compile legacy ipxe')
    run('cd %s/ipxe/src ; make bin/undionly.kpxe' % tmpdir)
    run('cd %s/ipxe/src ; make bin/ipxe.kpxe' % tmpdir)
    print('compile uefi ipxe')
    run('cd %s/ipxe/src ; make bin-x86_64-efi/ipxe.efi' % tmpdir)
    print('compile uefi snponly')
    run('cd %s/ipxe/src ; make bin-x86_64-efi/snponly.efi' % tmpdir)
    print('compile uefi ipxe arm64')
    run('cd %s/ipxe/src ; make CROSS=aarch64-linux-gnu-  bin-arm64-efi/ipxe.efi' % tmpdir)
    print('compile uefi snponly arm64')
    run('cd %s/ipxe/src ; make CROSS=aarch64-linux-gnu- bin-arm64-efi/snponly.efi' % tmpdir)

    pxe_folder = basedir
    filecopyto('%s/ipxe/src/bin/undionly.kpxe' % tmpdir,'%s/undionly.kpxe' % pxe_folder)
    filecopyto('%s/ipxe/src/bin/ipxe.kpxe' % tmpdir,'%s/ipxe.kpxe' % pxe_folder)
    filecopyto('%s/ipxe/src/bin-x86_64-efi/ipxe.efi' % tmpdir, '%s/ipxe.efi' % pxe_folder)
    filecopyto('%s/ipxe/src/bin-x86_64-efi/snponly.efi' % tmpdir, '%s/snponly.efi' % pxe_folder)
    filecopyto('%s/ipxe/src/bin-arm64-efi/ipxe.efi' % tmpdir, '%s/ipxearm64.efi' % pxe_folder)
    filecopyto('%s/ipxe/src/bin-arm64-efi/snponly.efi' % tmpdir, '%s/snponlyarm64.efi' % pxe_folder)    

    version = "0.0.%s" % run(r"git -C  %s/ipxe rev-list --count master" % tmpdir).strip()
    hashgit = run("git -C  %s/ipxe rev-parse HEAD" % tmpdir).split("\n")[0]
    control.sources = 'https://github.com/ipxe/ipxe/commit/%s' %  hashgit
    control.version = "%s-%s" % (version, control.version.split("-", 1)[-1])
    control.save_control_to_wapt()

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
54756b7a85d3880a32971d7aa04b20dedfa760762f404c9c9096c62217cec0db : WAPT/control
17e00f040b502c45652e4e7348b4c38ab9d9dda43e3af332da16f38c62598694 : WAPT/icon.png
b69b1f752c239bee31ac6cf9c8c2c8550e7dfa166194858b5a42ac9e13be1e87 : ipxe.efi
6019dffa195f053109bf13086bd055035d25e3fc83acbf2c90140a479bd91f44 : ipxe.kpxe
565e09cd06134b35e9ed328a56005d9d97ac4d78adec549c68e601c0347ff864 : ipxearm64.efi
38cd441e775f752cbd9b4c2876578d210de2123388c8b8e5cce09a4c7a8258df : luti.json
2cd74af330185fdd79ef6f7dcd444795395c5438b13b0f78e843b142bf03b7a6 : setup.py
018e6ae2f3edf891a141630bb579bebc766e53bf697297fffaaef03fb791ce26 : snponly.efi
d82a49727b61668dca5841b088084d4993d1ee944d88530960c8c306c330ac59 : snponlyarm64.efi
e3388f48f635a8f5b217a6d9547c967ef230d8e50749596b934b5fe163e28700 : undionly.kpxe
b0b4e50afdda5fd79b4d2984bfd6355f54c3d193c6b5d133d46b5333e741fc00 : update_package.py