mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-05 04:27:55 +00:00
da80f51112
builddebs.pl spelled out the same slurp five times, and twice wrapped it in the identical read, transform, write-back sequence -- once to pin the dependency versions in debian/control and once to rewrite the changelog header. The two blocks differed only in the file and the function applied to its contents. BuildUtils.pm now provides read_file, write_file and rewrite_file. The last leaves a file that is not there alone rather than creating it, which is what both call sites guarded for with -f. These use plain open and close rather than File::Slurper. buildrpms.pl already depends on that module, but builddebs.pl does not, and putting it in the shared module would oblige a deb build to install something it otherwise has no need of. Reading a missing file now names the file it could not read; one of the call sites died with no message at all. Covered by tests: a round trip, that rewrite_file applies its transform and reports whether it acted, that it neither runs the transform nor creates the file when there is nothing there, and that a failed read names the path. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>