On Mon, Oct 12, 2009 at 10:07 PM, Tobias Kieslich <tobias@justdreams.de> wrote:
What we used to have is an accumulated patch. Everytime the package was rebuilt, the missing patches got downloaded and attached to the accumulated patch which was controlled in cvs at the time with the PKGBUILD file. The advantage of doing that is, cvs took care of the difference, abs(rsync) downloads only the difference, and it was relatively easy to maintain. Certainly easier than compiling a tarball for every rebuilt and uplaoding it to ftp. Downside is we would store a lot of stuff in the repository. The whole purpose of doing it the other way is to save the download from our servers, have NOTHING else to do but build and uplaod the package for a rebuilt and store already downloaded stuff locally so people don't have to download all patches, all of the time. It's more complex to write initially but from a maintainers point of view it's fire and forget. Incorporating to download the gzipped 1-x00 patches should be done because it cuts down on the download time and bandwith. Arguably, the cvs based PKGBUILD would be just as easy except for the fact that tyhe source trees must be copied to assure that they are clean and who knows how vims csv runtime compares to the stuff you download with rsync or their internal aap tool(which we mock in bash).
An accumulated patch might be better. But still not as good as a vcs in my opinion. The way I see it, storing and providing patches in a nice way is the whole point of vcs. If you are completely opposed to building snapshots and using a pure -cvs package (like the one here : http://aur.archlinux.org/packages/vim-cvs/vim-cvs/PKGBUILD), I am not sure what remains. Probably doing it the bash-pkgbuild way. I re-used Ranguvar code (http://bugs.archlinux.org/task/16165?getfile=4082) to do it. See attached pkgbuild. It's quite ugly if you ask me, it's still very slow to download all the patches the first time. And it looks weird to have 100 source files and 100 md5sums in a pkgbuild. Besides makepkg also takes some times to md5sum check all these and apply the patches. But at least it follows the right way to use remote source files in a PKGBUILD, by using the source array.