You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some packages need patching in order to compile. Many of these patches are multiplatform. An example is #81, which was fixed by f6be2a5, which added a file stdio_build_fix.diff.linux which was then copied (but only on linux!) and then the "patch" command applies it from configure.linux.
We need some way to
handle multiplatform files (for example we can append a suffix .all or something and then it will get copied for all platforms)
handle patches for packages. Currently we can use manual patching as implemented in m4 fails to build on ubuntu 13.04 #81. Debian now uses quilt, which is pretty much like git, except that you apply the patches on top of any directory, i.e. after unpacking the upstream tarball. We can of course import the unpacked upstream tarball into git and add our own patches on top of it and host it at our github. The advantage of doing patches is that our repository has all the information how to build the given package just from the upstream tarball, and as long as the patches are small (which they typically are, as usually you just need to patch the build system a bit, adjust some paths etc.), this is the most transparent solution --- as long as you have good support for managing the patches, which quilt provides.
We can also use https://github.com/joeyh/pristine-tar which is able to recreate upstream .gz and .bz2 exactly (e.g. md5 sum will agree) from git. So our workflow would be to keep the md5 hash in packages.yml for the m4 upstream tarball, but import the sources to git, add our patches, host it at our github, then add a github link + git hash to packages.yml, but keep the original md5 hash for checking. That way it is clear that we have only added some more patches, but kept everything else unmodified.
Some packages need patching in order to compile. Many of these patches are multiplatform. An example is #81, which was fixed by f6be2a5, which added a file
stdio_build_fix.diff.linux
which was then copied (but only on linux!) and then the "patch" command applies it fromconfigure.linux
.We need some way to
.all
or something and then it will get copied for all platforms)packages.yml
for the m4 upstream tarball, but import the sources to git, add our patches, host it at our github, then add a github link + git hash topackages.yml
, but keep the original md5 hash for checking. That way it is clear that we have only added some more patches, but kept everything else unmodified./cc @cekees, @dagss
The text was updated successfully, but these errors were encountered: