tis-compile-ipxe icon

iPXE

Paquet d'installation silencieuse pour iPXE

0.0.7573-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.7573-6
  • maintainer: sfonteneau
  • locale: all
  • target_os: windows,linux
  • architecture: all
  • signature_date:
  • size: 1.96 Mo
  • homepage : https://github.com/ipxe/ipxe

package           : tis-compile-ipxe
version           : 0.0.7573-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/345abfba19eb7713b8d92331c143e2eaeb5fce71
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      : 5b10a67b-7ca8-4060-8aed-75feae56974c
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-07-14T12:58:24.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         : JNvtDp4jUVWhy7PQ24E+/Jd2jdHd2nBpTKhZMb4RNzyzmDgEkku1DqMOvOFmZIrL9j3LwCgHjuwSHzPDhFO/CuWUVrFwCokmh7cmkGu/BfFH1vuojeyElZTpERLWDxtA1lVS4IY3BJ0wuwf8lWLjldW1Ya/zvITfwqiMvIRUBlSayD2g5cIKTUwUQTSbtie4OAL3iXeVfq0sHwxYaa/A5TXLEAXwVStqj7pU+FuRqlYq4uU85lrP7PjRjVLyZiZpi3X4rqIGkK6VaA0NkcbRK5nv8ux+AGaj58ViIa/fZAZQthKn83E0vzai7g+S8wHswi8evn2KTw1omKL3DNp3/A==

# -*- 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
70102262464636ef84a5cbed725888d0c8b69d62d044ce062e93f1948e5661ea : WAPT/control
17e00f040b502c45652e4e7348b4c38ab9d9dda43e3af332da16f38c62598694 : WAPT/icon.png
2d8ce9c886c0113b23339195181919339d1e4b323d0097ea811ff050ccc48c70 : ipxe.efi
462f611f18e7ab8faa4dddb9a3d2f0015d366ca936655b984f1b611bdcd0be6f : ipxe.kpxe
2de6d63b3ad5d4f040e8da0114f337f4821f5c467910615f425be0d51b7c287f : ipxearm64.efi
48890bac97117ab287e16ee6ec9c01a3c54644a5af54b582b5a1eba606b0a643 : luti.json
2cd74af330185fdd79ef6f7dcd444795395c5438b13b0f78e843b142bf03b7a6 : setup.py
a014d189fea915719ea2b4346dcd606bf13958a3468439602d3108ae3689a88e : snponly.efi
650d4dd2a544ec85876349ab85208e14b799c81a04057132615b1c2aee78c35b : snponlyarm64.efi
8f5ca9dbfe6766074d05f6362d95507f09428e153e7931581f85ed2a6643f3de : undionly.kpxe
b0b4e50afdda5fd79b4d2984bfd6355f54c3d193c6b5d133d46b5333e741fc00 : update_package.py