Rpm-build limitaitons

I am new to rpm packaging, and as I understand it, rpm-build has problems with file sizes> 4 GB due to cpio limitations. Therefore, I split the large file in my package with the gnu section into 512 MB files [this is done as part of rpmbuild, as large files generate build time]. I still see the error: msgstr "error: the archive could not be created in the file / io 1 / dm / build / BUILDROOT / pkg / installdir / lib / clfsplitab: cpio: Bad magic", where clfsplitab is a 512 MB large file split . Any suggestions on how to track the exact question? Or is there a better way to process / generate large payload packets?
Update: As shown, the error was in clfsplitab, that is, in the second split file (since the gnu partition usually separates files with the suffix aa, ab, ac, etc. It seems that cpio could not recognize the file type, the first file was tar, the second and the rest were data..gzipped divided parts). It seems that only one error has been resolved to raise the same bad magic error, but this time in the last part.
Note: I can control the output size of files that go in rpm. Ideally, the size of the flushed full file is about 4 g [which is divided into 512 MB blocks]. But in order to verify that this is actually not a problem with the size of the package, I constantly reduced the size of the created object file, and if the package goes below 2G, it seems to work fine, and I am getting good revs. If I remember correctly, the size problem was fixed with rpm 4.4.x. Does this still look like the cpio problem used by rpm for archiving?

+4
source share
2 answers

While unconventional, I ran into a problem using 'tar' instead of cpio, specifying 'cpiobin' in rpmrc.

0
source

From the old RPM 4.6 documentation :

Large package support Packages can now theoretically be up to 64bit sizes, and individual files within packages are limited to 4GB each due to cpio format limitation whereas they were previously limited to ~2GB. Large packages (over ~2GB in size) are incompatible and unreadable with previous versions of RPM due to requiring 64bit integer type support in headers, "normal" sized packages are fully compatible with older versions however. Limitations on accepted header size can cause limit the practical package size when the number of files in a package is extremely high. 

So yes, this is most likely a problem with CPIO. What version of RPM are you using? I think you should overestimate RPM, 4 GB is extremely large for RPM, even for the internal network, which we have been talking for quite some time to migrate and install it. If this is critical for your systems, do you think it kickstart when you first build a server?

0
source

All Articles