On 22 January 2018 at 03:39, Neal Gompa <ngompa13@xxxxxxxxx> wrote: [..] > > Multi-distro spec files in itself aren't that bad. In my experience, > the things that drag you down are the Debian/Ubuntu and RHEL/SLE > targets. But they eventually catch up. However, the sad reality is, > you can only go so far without improvements (i.e. backports) to older > distributions. Of curse that it is not that bad :D If you want I can show some example single spec can be used to build el6, el7, Fedora, Amazon Linux and .. even Solaris 11.3 native IPS packages Solaris pkgbuild (it is quite simple perl script) uses rpm spec to describe whole build process and at the end is generating from spec %files .p5m file which is used kind of buildroot base directory on export to IPS repository. In IPS packages exist only in repo and there is no such thing like package as the file/archinve. IPS allows export package to file which can only be used to import in other repository. Single package can support more than one architecture so for example as well sharing files like documentation on install the same package in 32 and 64 ABI is not a problem. If you want you can peak on such multiarch package manifes in repo: http://pkg.oracle.com/solaris/release/manifest/0/file%2Fmc@4.8.13%2C5.11-0.175.3.0.0.30.0%3A20150821T165151Z In this manifest lines you can find: file ba41c36ccd08352201bb13c6409ab013de19a308 chash=26520b34314cc2b0577809090182bd9a8c81d0d1 elfarch=i386 elfbits=64 elfhash=37e0b220d4cde4870763be86ac3ad6269586d02e group=bin mode=0555 owner=root path=usr/bin/mc pkg.csize=680939 pkg.size=1995352 variant.arch=i386 and file e8067864f4ada9ebb89de4118d51b60a3210f416 chash=f4b47ddfbb250c35a9613e320ca8225ef6e0cc07 elfarch=sparc elfbits=64 elfhash=1fbb23058504895c30bd6e2eed284a6f4374b12c group=bin mode=0555 owner=root path=usr/bin/mc pkg.csize=666593 pkg.size=1698664 variant.arch=sparc Which describes file on exactly the same path but in two arch .. all in single package. As the same repository can keep multiple versions of the same package automatically IPS repo shares/duplicates those files which have not been changed between versions. So (back to the subject) as you see it is really "aren't that bad". There are only few not good consequences: - as long as after upgrade package package to new and you have no possibility instantly test all supported in spec distros or OSes sooner or later some variants will be dead - it is not possible to do such things on large scale because lets say if such universal spec will be OK on Fedora but it will be failing on other distros/OSess sooner or later people will start thinking that such universality is not advantage but disadvantage/obstacle as it adds some additional chunk of man/hour to maintain single package. - keeping all variants in healthy state requires from all packagers at least basic knowledge/skills on use/maintain other distros/OSess. Writing universal spec will be kind "good intention" however some saying says that "the road to hell is paved with good intentions". For example distance between SLE and RH/Fedora in methodologies and macros suits is so big that transferring source packages is not possible. Some time Fedora decided to spread all possible to use rpm macros from redhat-rpm-config maaany development packages which can provide some subsets of new macros. Only this (and nothing more) started even bigger split between Fedora and all other rpm distros as now no one is able to control or review in single package all possible to use macros. IMO it will take few year for all Fedora packages to realize how bad such decision was (even for only Fedora). Nevertheless all this is way off-topic of my original email :) kloczek -- Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx