Recently I have been working on converting the MPU managed LCFG components to being built via the new build tools. I’m down to the very last few now, one that I have been avoiding for ages is lcfg-utils since the current package build scripts are a bit crazy, it is all in a bit of a tangled mess. Yesterday I finally bit the bullet and started ripping it apart with the aim of separating it out into related units – one for the C code, one for the core Perl utilities and one for the Perl package utilities. Along the way I also had in mind enabling the building of a shared library for lcfgutils and a few other niceties.
I was pleased to find that the new build tools really did make the job much easier than I had expected. The two packages of Perl code, LCFG::Utils
and LCFG::PkgUtils
use Module::Build
so could be uploaded to CPAN. The newly pared down lcfg-utils
package provides the shared library and a few basic utilities uses CMake. There is also an lcfg-utils-devel
package on Redhat systems which holds the header file and static library for any build processes where that is required.
I now have it all nicely organised and ready for testing. I believe it all works, it certainly appears to on my machine but it will need further testing to check that I haven’t introduced any nasty bugs. These are fairly important libraries and utilities so a certain amount of cautious checking is required. If you want to give it a go you can do so with the following lines added to an LCFG source profile:
!profile.packages mEXTRA(+lcfg-utils-1.3.0-1\ lcfg-utils-devel-1.3.0-1\ perl-LCFG-PkgUtils-1.0.0-1\ perl-LCFG-Utils-1.0.2-1)
If you are feeling really brave you can also try out a new version of updaterpms which uses the lcfgutils shared library, you just need:
!profile.packages mEXTRA(+updaterpms-3.1.5-1)