Am 05.12.2009 um 10:28 schrieb Rob OpenSuSE:
Am including Factory list, perhaps in 11.3 a better way of making source available to end users, which avoids big load on Build Service and Mirrors is possible?
Uhm, these are two separate issues: - installability of source RPMs on released openSUSE (which you ran into)
- the multiplication of sources in the build service (which I mentioned just because Karsten mentioned the size of the home: namespace in the build service; I tried to set into perspective where most of the space goes.)
On project list, a request was made for source by someone unfamiliar with openSUSE suggested an ISO; installing source rpm's with YaST is not working as it did in past for me, because only binary packages are held on most of the download.opensuse.org mirrors.
Since the distribution of downloads to mirrors is transparent, well, just let it work for you. And even if all mirrors would stop mirroring source rpms - that wouldn't change their general availability, because we still offer them, and it wouldn't change the way how YaST installs them.
So problems are :
- source rpm's are changed and re-published over frequently by
That problem affects only the build service - their infrastructure needs more disks, but that's bout it. It shouldn't bother you at least.
It's not about re-publishing by the way. And not about the fact that they change often. It's about duplication. (To fully understand the implications, and in how far they matter, you'll have to read the complete thread that I referenced.)
To give you an example: each source RPMs contains a tarball (the packed sources from the upstream project), a build description, and possible bits like configuration and stuff. If you build Apache, there is a tarball called httpd-2.2.14.tar.bz2 used in the build, and it is included into the source RPM. Since the tarball is about 5MB in size, the size of the source RPM is largely dictated by that. Now, if you build Apache for openSUSE 11.0, 11.1, 11.2, CentOS5 and Factory, you'll create 5 source RPMs, and each will contain the exact same httpd tarball from upstream. That's 25MB all out of a sudden. And before you even notice it, you may have a whole GB of tarballs just from Apache builds, all containing a tarball that is 5MB in size and can be downloaded from upstream at any time. Well, and the build service file tree is consisting of such duplicated sources to a large extent (I estimated 30%-50%). That doesn't affect users, though - download.opensuse.org offers all that for download, because that's the way things should be - but of course nobody wants the stuff.
So, this extreme duplication of sources in the build service is a problem for itself, but it has no effect on users. And the sources that developers are working with are not the source RPMs (which are just a fallout from the build system by automatism), but the original sources. Adrian surely has a point in mentioning that these source RPMs (those of the build service!!) are redundant and utterly useless. It is fully reasonable to suggest getting rid of them _under_ the condition that the original sources are made available anonymously (which isn't the case yet). I have raised the same issue myself in the past. But there are also some arguments against it - the other thread should clarify most of those points.
- source rpm take huge diskspace and bandwidth, for something rarely
required on installed system
See 1), this affects the build service-internal infrastructure, but it's built to handle it. (Which doesn't exclude thinking about optimizations of course :-))
- obtaining the source to build and modify a package on end-user
system (as required by GPL) is less obvious than it was in past
I can't judge - I don't use YaST or something. However the sources are all there, which we probably all agree on. They are accessible through various means (even mirrored, and free to be mirrored by everybody with no restrictions and no exceptions); there's the convenient build service for those who want to work with the sources seriously enough to bother creating a Novell account, and there is an option in YaST (of arguably operability) that makes it easy for everybody installing to install the "feel-good-factor" as well. From what people wrote, there's even a snail mailed DVD, although I cannot confirm its existance.
How obvious all this is - hard to say, but I think, who he who asks will get the helpful pointers at least ;-)
And if you have ideas how to make things more obvious, I'm sure they are welcome'd by everybody else. There is always somebody who will benefit from it.
Can we simply have seperate hosts in URI's for binary download, binary debug & source packages?
Do you think that http://download-sources.opensuse.org/ would be better than http://download.opensuse.org/source/ ? I don't think so.
What about a way to install all the source of used packages?
I never use it, but I thought there'd be an option for this in the YaST package manager.
If that doesn't work, then check bugzilla and open a bug if needed. If the feature doesn't exist at all, you could head over to the folks at firstname.lastname@example.org and/or open a feature on http://features.opensuse.org/ , right?
Obtaining all the project source is handled by snail mail request for a (possibly chargeable) DVD.