[WIP] xzmbuild - tool for creating Porteus modules from XZMBUILD files

Here is a place for your projects which are not officially supported by the Porteus Team. For example: your own kernel patched with extra features; desktops not included in the standard ISO like Gnome; base modules that are different than the standard ISO, etc...
i3slkiller
Contributor
Contributor
Posts: 121
Joined: 03 Feb 2020, 18:51
Distribution: Porteus XFCE v5.0rc2 x86_64
Location: Poland

[WIP] xzmbuild - tool for creating Porteus modules from XZMBUILD files

Post#16 by i3slkiller » 11 Nov 2024, 18:51

New testing version of xzmbuild was released with these changes:
copy README.md to xzmbuild doc if exist
add replaces array
add TAG and SBTAG config options
stop script if creating python venv, (un)installing python packages failed
failsafe if installpkg/mksquashfs failed in txz2xzm
inform about starting build slackbuild package
delete code setting repo name from command-line for packages
make SLACKREPOS and SBREPOS array read-only
download pgp signatures before downloading actual file
don't allow to add repos starting with custom_ from files
fix reading NAME value from slackware repository file
fix handling 'none' TAG values from slackware repository files
handle 'none' tag for PKGTAG value
set default _xbr tag for custom slackbuilds repos
validate XZMBUILD variable values
show xzmbuild script execution time debug message
rename 'Ctrl+C detected, terminating' to 'Terminating'
change exit code of SIGINT, SIGQUIT and SIGTERM traps to 2
use cksum command to verify checksums
set slackware current/stable branch version on porteux version
decompress man page and info files also in usr/local/share
set tag and build/tag merge for custom slackbuilds
export void wget function to slackbuilds scripts (it should allow executing slackbuilds containing wget command without executing it and without modify scripts)
allow to set edfault branch for slackbuild git repositories in sbrepos
change source of slackware slackbuilds and set default branch for slackbuild repositories
show basic info about system and xzmbuild
switch sbo repository url to gitlab mirror
and many smaller changes

https://archive.org/download/porteus-mo ... arch-1.xzm

Code: Select all

db233c51761593aea86cb890f91776535402f5b7f56c6f05734e2e29b4282c61  xzmbuild-1_71f599243130b6ea-noarch-1.xzm
I remind you to check split_xzmbuild_sh branch and tell if I should merge it to master.

i3slkiller
Contributor
Contributor
Posts: 121
Joined: 03 Feb 2020, 18:51
Distribution: Porteus XFCE v5.0rc2 x86_64
Location: Poland

[WIP] xzmbuild - tool for creating Porteus modules from XZMBUILD files

Post#17 by i3slkiller » 29 Nov 2024, 16:14

New testing version of xzmbuild was released with these changes:
- split xzmbuild script to multiple files
- support build modules in 32-bit x86 platform
- add support for getting repo info from parent, which will differ by some items only
- fix compareVersion() function
- replace _LASLKARCH_ string in SLKREPOURL in getSlackRepoAddress()
- use tag regex to validate xzmtag variable
- delete SUFFIX slack repo config option because of matching invalid repo in getSlackRepoAddress()
- don't cycle through multiple tags
- replace i?86 with i586 in slackware repo info files
- accept xzmver and version strings with +
- and other small changes
Note: 715164092cf79aa0 string is now trucated SHA512 hash of sorted SHA512 hashes of xzmbuild.sh and all files in libexec/xzmbuild.

https://archive.org/download/porteus-mo ... arch-1.xzm

Code: Select all

bd47458a6fe2d5ee12453443333f7cf9d530d142ee2e4bdb98ffc69af5f70938  xzmbuild-1_715164092cf79aa0-noarch-1.xzm

i3slkiller
Contributor
Contributor
Posts: 121
Joined: 03 Feb 2020, 18:51
Distribution: Porteus XFCE v5.0rc2 x86_64
Location: Poland

[WIP] xzmbuild - tool for creating Porteus modules from XZMBUILD files

Post#18 by i3slkiller » 11 Dec 2024, 23:26

New testing version of xzmbuild was released

Code: Select all

xzmbuild version 1 <https://gitlab.com/i3slkiller/xzmbuild>
SHA512: 0b3067a8b5c74d21f30dc72d46ca0f718884219fa644c3475321a9c273bf5050444be159c5bb1367d14c5f105942ef2824beb9e44bc213d60427431388473f45
BREAKING CHANGE: rename variables
xzmver -> version
xzmrel -> build
xzmtag -> tag
slack_prebuilt_packages -> slack_packages
slack_prebuilt_packages_checksums -> slack_packages_checksums
slack_builds -> sb_packages
slack_builds_additional_parameters -> sb_parameters
slack_builds_additional_files -> sb_files
slack_builds_scripts_checksums -> sb_files_checksums
slack_builds_sources -> sb_sources
slack_builds_checksums -> sb_sources_checksums

BREAKING CHANGE: replace , delimiter with :
in:
slack_packages
slack_packages_checksums
sb_packages
sb_files_checksums
sb_sources_checksums

BREAKING CHANGE: rename VERH to VERL and replace VERH string from 3.4.5 to 3-4-5


- find and activate 06-crippled_sources for running kernel only
- added --no-reuse-spkg option (this won't reuse existing packages and xzms in spkg, instead they will built from scratch)
- allow to set custom version (--xzmver), build (--build), tag (--tag), sbtag (--sbtag), package versions, builds and tags (--setpkg packagename,type,value) and variable values starting with _ (setvar VAR=val) from command line
- use lz4 compression to compress intermediate modules
- set tgz package format for slackbuilds that don't have hardcoded format
- call tmpxzm_package() if exist to package and build temporary module used only when building
- print commented package and source file names matching file checksums when --generate-checksums passed
- don't make copy of MAPFILE array
- replace + and . with _ in xzm_[package_name] variables
- allow to set suffix after version string form slackbuild packages (this suffix must match to package name generated by slackbuild script, eg. _6.8.10 must match broadcom-wl-6.30.223.271_6.8.10_porteus-x86_64-1_pb.tgz)
- print download links in debug messages
- check if /mnt/live/memory/images/makerequire-module.xzm/ path is mountpoint
- and other small changes

https://archive.org/download/porteus-mo ... arch-1.xzm

Code: Select all

458ef0ce3aecb8f0a0838b86df15b306c88a8483fdb364121ccfa72ed563a9ec  xzmbuild-1_0b3067a8b5c74d21-noarch-1.xzm

Post Reply