tis-compile-ipxe icon

iPXE

Paquet d’installation silencieuse pour iPXE

0.0.7321-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.7321-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.7321-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/dee71adda84cddc9feaecbdec1a748b1b3fb35da
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      : da9b797c-aca0-4480-85d8-e25f9adfbf14
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-01-28T20:26:57.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         : rgDnPRU91kjh1ttWLVGx5emTiAwFdK1WBVRh/eRaRhs6B5f56/Am7OEw4MyDUhwFrbC9duHGkR01FY+ERbmXbCPfRQ83MlMz+7dkDHDLEw/hI9Vvdc/sDHmfBF40gdBOO9C1Lq95GJol9ABZ/6ka0GqEIy4tOio0nefB6jBe5gXcnkA41zjZFsIgI/dcD6WgmjbIJJe4eT6PobADW47fsn7ybYkV3E2G+tabj53YTS+NAN0EoGxSSti3L177bMfGGeJDWx5qfsV4E2Pwqva/xmd2gOV7t0OREGVZ7p8FupCXXAZm+1Yo8aI08VzxUIyEvBmivs3mXCxi7drPgGLtfA==

# -*- 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
dfdccdecec0868e04c2e00f7901d2c160bfe440aa4cb96df565a1c5874d8d1fa : WAPT/control
17e00f040b502c45652e4e7348b4c38ab9d9dda43e3af332da16f38c62598694 : WAPT/icon.png
bc1fa9757bbc61e184b2524ae5bb6674203e9269f0bf69c81cddf0737955d046 : ipxe.efi
1d20656a0d4683b84abda47cadd907b3f66483e1815ef74268391312817adfcf : ipxe.kpxe
bedbb5418cbf69f1f700dd33b317aa0d22765c3fb811cf3b6c096b3a86d69e06 : ipxearm64.efi
687e17fbded962b1d9b39ec103dd25432260fcf6e523bc7362a44ce34be2b723 : luti.json
2cd74af330185fdd79ef6f7dcd444795395c5438b13b0f78e843b142bf03b7a6 : setup.py
8b7f33bd0e649ad0568cbdb2c4a05a0e5d44fdfb280a8c4ed287ad4ccf61c669 : snponly.efi
82a85990132958498359a96f1c125e32145e9eefaff3b3a97678cd94d24da6f7 : snponlyarm64.efi
09958e6391919b0c71f79167d1c513784abee08de0c16709728218d3febb0a26 : undionly.kpxe
b0b4e50afdda5fd79b4d2984bfd6355f54c3d193c6b5d133d46b5333e741fc00 : update_package.py