On Fri, Aug 12, 2011 at 04:15:49PM +0200, Andreas Schwab wrote: > Your whole argument is just void. There is not a single difference > between "external" packages and (sub-)packages. > Here's a couple differences: (libfoo-1.0 building subpackage foo-utils) is licensed LGPLv2 (libfoo-1.0.1 building subpackage foo-utils) is licensed LGPLv3 Our guidelines let you package the license information in the base package when the subpackage depends on it. In this case, the subpackage won't pull in the updated license information based on soname alone. libfoo-1.0 has private data: foopublic.h struct Data { int public; void *private; } fooprivate.h struct PrivateData { [...] } Rightly or wrongly, upstream libfoo-1.0 has some additional utilities that access the PrivateData. Because the utilities are built from the libfoo source, they can include the fooprivate.h header file and do this. When libfoo goes to 1.0.1, upstream changes the definition of PrivateData and updates the utilities to work with the new datastructure. Since the public ABI stayed the same, the SONAME doesn't change and external programs compiled against libfoo-1.0 continue to work but the utilities built as a subpackage would be broken without stricter versioning. -Toshio
Attachment:
pgp30h8M61jda.pgp
Description: PGP signature
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel