tis-compile-ipxe icon

iPXE

Paquet d’installation silencieuse pour iPXE

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

package           : tis-compile-ipxe
version           : 0.0.7467-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/efa9515b1456bd3846cefeb492474d60250544c0
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      : bbae62a3-6037-4ef0-9f32-0db0e3254b45
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-05-07T12:29:45.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         : GGtU+e5DSi9cbOZloi6z2eGg6kvZqovcrLYeBRPxBzsGL2Ze1dbhgE9T4UDfolWY7tHyx7IhX4/NgmhUrD39EF1ZDw/n8juiIZKoeuanVfgBqMbh8GRW/FqLvXVrFk3PQ8mwql5traHHwAlmpAFpBAc+OFJLnTitIqd0ZWdDoLWCzsGZct4ACbcuOzlCBlT6tBjdEskDczcWA2W0LTnW9mDlPfwiv0DJBLNyvYjP3LT0KD/hDOpXKjD3ZL3FuziZDqpE4AcneA/sLHLW1UltSrwhdH0tmxl/xT9JiH87t5fGKdtFLR8eKk0e4vOiERxjsvrhLxyEp8bie6rebyxDvA==

# -*- 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
8a18fa54bbd6b82c790369d536cfebb3d7542fe5fc467865eebecc5526edf441 : WAPT/control
17e00f040b502c45652e4e7348b4c38ab9d9dda43e3af332da16f38c62598694 : WAPT/icon.png
69e76e9633d405087d0c6d3109c73ff648ab77bcede1b898cd2da3b217b7baaa : ipxe.efi
a3f9f12bc7f2e6806e330868c714daf90d0a895e506f53562010e94fc0f689f0 : ipxe.kpxe
41b129ef11253a5ecafc1514375efbf578419730d4442344bb0129d70b01c32c : ipxearm64.efi
6bceafc9e3eda5607acd6fb2b233e391b63b71aa76a0212ca7d3acfdad4eedb4 : luti.json
2cd74af330185fdd79ef6f7dcd444795395c5438b13b0f78e843b142bf03b7a6 : setup.py
bf1fd6eb409292f3f1174708d982e88117135930bbc6ffcc1eaedf6b4a5e33c7 : snponly.efi
92d697078a174e4d5dea877c137a3d244a445bdf1412dba8a65c3bfac740cc56 : snponlyarm64.efi
f37b285c03c339ad6663a30c76bf34484783e257c3a2fe56b2f219f1a600be15 : undionly.kpxe
b0b4e50afdda5fd79b4d2984bfd6355f54c3d193c6b5d133d46b5333e741fc00 : update_package.py