Eric,
I would like to propose that e2fsprogs generate four subpackages for the independent libraries that it contains. These four libraries are used by other packages that don't need the whole of e2fsprogs-devel (eg. krb5_workstation uses libss, qpid uses libuuid, and many programs use libcom_err).
Our specific use case is to help with ongoing work porting libraries to MinGW (http://fedoraproject.org/wiki/MinGW) where we would prefer to package mingw32-libuuid for mingw32-qpidc without needing to port the whole of e2fsprogs.
I looked at Debian's package, and would like to propose a split along the same lines:
http://packages.debian.org/source/lenny/e2fsprogs
Despite the apparent complexity, there are only really four subpackages. For the Fedora package we would create:
libblkid libblkid-devel libcom_err libcom_err-devel [note 1] libss libss-devel libuuid libuuid-devel
There are no conflicting package names in Fedora at the moment, except for the similarly named libss7 (a library implementing Signalling System 7 telephone switching protocol).
I have attached a patch against Rawhide which does the above split. I set up the dependencies so there should be no loss of functionality for users who install just e2fsprogs or e2fsprogs-devel.
What remains is to advertize the split on fedora-devel-list and encourage package maintainers to replace:
BuildRequires: e2fsprogs-devel
with
BuildRequires: lib<uuid|ss|blkid|com_err>-devel
where appropriate.
Please let me know what you think.
Rich.
[1] http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Common_Character_Se...
Richard W.M. Jones wrote:
Eric,
I would like to propose that e2fsprogs generate four subpackages for the independent libraries that it contains. These four libraries are used by other packages that don't need the whole of e2fsprogs-devel (eg. krb5_workstation uses libss, qpid uses libuuid, and many programs use libcom_err).
Our specific use case is to help with ongoing work porting libraries to MinGW (http://fedoraproject.org/wiki/MinGW) where we would prefer to package mingw32-libuuid for mingw32-qpidc without needing to port the whole of e2fsprogs.
I looked at Debian's package, and would like to propose a split along the same lines:
http://packages.debian.org/source/lenny/e2fsprogs
Despite the apparent complexity, there are only really four subpackages. For the Fedora package we would create:
libblkid libblkid-devel libcom_err libcom_err-devel [note 1] libss libss-devel libuuid libuuid-devel
There are no conflicting package names in Fedora at the moment, except for the similarly named libss7 (a library implementing Signalling System 7 telephone switching protocol).
I have attached a patch against Rawhide which does the above split. I set up the dependencies so there should be no loss of functionality for users who install just e2fsprogs or e2fsprogs-devel.
What remains is to advertize the split on fedora-devel-list and encourage package maintainers to replace:
BuildRequires: e2fsprogs-devel
with
BuildRequires: lib<uuid|ss|blkid|com_err>-devel
where appropriate.
Please let me know what you think.
Thanks, this has been on a back-burner for me for a while; I've been meaning to do it but it just hasn't risen in priority. Having a place to start will help. :)
There's a bug open already, too:
https://bugzilla.redhat.com/show_bug.cgi?id=225406 Bug 225406 - split out libcom_err and libuuid?
One potential wrinkle is that util-linux may be assimilating libblkid, at least, in the future - but I suppose that if anything this may facilitate that transition.
I'll look over this and let you know. I like it in general, e2fsprogs has turned into a bit of a ... junk-box of useful libraries. :)
-Eric
Rich.
[1] http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Common_Character_Se...
Richard W.M. Jones wrote:
Eric,
I would like to propose that e2fsprogs generate four subpackages for the independent libraries that it contains. These four libraries are used by other packages that don't need the whole of e2fsprogs-devel (eg. krb5_workstation uses libss, qpid uses libuuid, and many programs use libcom_err).
Our specific use case is to help with ongoing work porting libraries to MinGW (http://fedoraproject.org/wiki/MinGW) where we would prefer to package mingw32-libuuid for mingw32-qpidc without needing to port the whole of e2fsprogs.
I looked at Debian's package, and would like to propose a split along the same lines:
http://packages.debian.org/source/lenny/e2fsprogs
Despite the apparent complexity, there are only really four subpackages. For the Fedora package we would create:
libblkid libblkid-devel libcom_err libcom_err-devel [note 1] libss libss-devel libuuid libuuid-devel
btw, any reason to leave out libe2p?
-Eric
On Fri, Feb 20, 2009 at 11:26:34AM -0600, Eric Sandeen wrote:
Richard W.M. Jones wrote:
libblkid libblkid-devel libcom_err libcom_err-devel [note 1] libss libss-devel libuuid libuuid-devel
btw, any reason to leave out libe2p?
It seemed a bit ext2-specific, but if you think it is worth having it as a separate library then I can update the patch.
Rich.
Richard W.M. Jones wrote:
On Fri, Feb 20, 2009 at 11:26:34AM -0600, Eric Sandeen wrote:
Richard W.M. Jones wrote:
libblkid libblkid-devel libcom_err libcom_err-devel [note 1] libss libss-devel libuuid libuuid-devel
btw, any reason to leave out libe2p?
It seemed a bit ext2-specific, but if you think it is worth having it as a separate library then I can update the patch.
Rich.
I'll double check; I think dump is the only thing (that I have installed, anyway) which requires it so perhaps leaving it alone is best.
I'm about to grep through rawhide cvs to see who all this might possibly affect (see who requires e2fsprogs-devel for build)
I'll probably send the proposal to fedora-devel to see if people are ok with it at this stage in the f11 release.
Thanks for doing this!
-Eric
Richard W.M. Jones wrote:
On Fri, Feb 20, 2009 at 11:26:34AM -0600, Eric Sandeen wrote:
Richard W.M. Jones wrote:
libblkid libblkid-devel libcom_err libcom_err-devel [note 1] libss libss-devel libuuid libuuid-devel
btw, any reason to leave out libe2p?
It seemed a bit ext2-specific, but if you think it is worth having it as a separate library then I can update the patch.
I think you're right, keeping it w/ e2fsprogs-libs is fine.
The next problem I see is that by putting things like blkid, uuidgen, compile_et, mk_cmds into the lib$FOO packages, they are now no longer multilib-safe; the binaries will collide.
This would then mean we need lib$FOO-tools subpackages as well, and suddenly we've created what, 12-15 packages from e2fsprogs, some with just a couple files. It's starting to feel like diminishing returns to me, but I'm still open to the idea ... :)
Thoughts?
-Eric
On Fri, Feb 20, 2009 at 04:06:27PM -0600, Eric Sandeen wrote:
Richard W.M. Jones wrote:
On Fri, Feb 20, 2009 at 11:26:34AM -0600, Eric Sandeen wrote:
Richard W.M. Jones wrote:
libblkid libblkid-devel libcom_err libcom_err-devel [note 1] libss libss-devel libuuid libuuid-devel
btw, any reason to leave out libe2p?
It seemed a bit ext2-specific, but if you think it is worth having it as a separate library then I can update the patch.
I think you're right, keeping it w/ e2fsprogs-libs is fine.
The next problem I see is that by putting things like blkid, uuidgen, compile_et, mk_cmds into the lib$FOO packages, they are now no longer multilib-safe; the binaries will collide.
This would then mean we need lib$FOO-tools subpackages as well, and suddenly we've created what, 12-15 packages from e2fsprogs, some with just a couple files. It's starting to feel like diminishing returns to me, but I'm still open to the idea ... :)
Thoughts?
It's probably better to keep everything on https://bugzilla.redhat.com/show_bug.cgi?id=225406 but on this particular point are you sure the packages aren't multilib safe?
I read this:
http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks#Multiarch.2C_bi...
I also tried installing i586 and x86_64 packages at the same time on my local machine and it appears to work. I must admit I'm not hugely familiar with how multilib works (except that when I looked at it, it seemed like a gigantic hack) ..
# rpm -Uvh libblkid-1.41.4-6.fc11.x86_64.rpm libblkid-devel-1.41.4-6.fc11.x86_64.rpm libblkid-devel-1.41.4-6.fc11.i586.rpm Preparing... ########################################### [100%] 1:libblkid ########################################### [ 33%] 2:libblkid-devel ########################################### [ 67%] 3:libblkid-devel ########################################### [100%] # rpm -qa | grep libblkid libblkid-devel-1.41.4-6.fc11.i586 libblkid-1.41.4-6.fc11.x86_64 libblkid-devel-1.41.4-6.fc11.x86_64
The scratch-build of my package is here if you want to try:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1234571
Rich.
On Fri, Feb 20, 2009 at 02:34:14PM +0000, Richard W.M. Jones wrote:
I would like to propose that e2fsprogs generate four subpackages for the independent libraries that it contains. These four libraries are used by other packages that don't need the whole of e2fsprogs-devel (eg. krb5_workstation uses libss, qpid uses libuuid, and many programs use libcom_err).
[...]
https://bugzilla.redhat.com/show_bug.cgi?id=225406#c7
Eric, now that F-12 has been branched in the Fedora repositories, is it a good time to look again at splitting out the libraries from e2fsprogs?
I have CC'd this email to f-d-l.
Rich.