On 16/12/2020 21:44, Adam Dinwoodie wrote: > On Wed, 16 Dec 2020 at 20:31, Hamish McIntyre-Bhatty wrote: >> I have several packages I need the Cygwin source repositories for, but >> there is no link from https://cygwin.org/packages/package_list.html to >> the cygwin source. >> >> In a few cases the repositories are also out of date (mostly Python >> stuff, probably your packages adopted from Yaakov, Marco Atzeri?). >> >> I was wondering if there's a good way to find these/if someone might >> know of the top of their head if I list them? >> >> It's quite a lot of packages, so it's likely better if I can be given >> pointers. >> >> Full disclaimer: I specifically need the source repos and not just the >> source packages because I'm using them for an automated source bundling >> tool for my DDRescue-GUI Windows bundle (which is open source but >> commercial). I've spent ages writing the script and I'd rather not do it >> over again / make lots of modifications and break it. >> >> Any ideas? > Yes, but I don't think you'll like it: use the source packages, not > the repositories. There's no obligation or expectation that package > maintainers make their source code available in any way other than > through providing a source package. Some do provide a public > repository and make it readily available, but I would not be at all > surprised if some maintainers – particularly for packages that don't > get many upstream updates – don't use version control at all. > > Further, remember for GPL-like licenses you need to provide *all* the > source code that's used to create the binaries you're distributing, > including both the upstream source code and any Cygwin-specific > patches or modifications. Those will normally be in two separate > repositories, and there's no guarantee it'll be easy to find one from > the other. Taking Git as an easy example, since it's a package I > maintain and am familiar with: you'd need to find both > https://github.com/me-and/Cygwin-Git/ and > https://git.kernel.org/pub/scm/git/git.git if you wanted the > underlying repositories, and I can't think of any way to get from one > to the other that's not incredibly fragile. And, as I say, I suspect > there are a bunch of packages in Cygwin where it's much more > difficult, if not impossible. > > I think a much better route here would be to parse the setup.ini files > (e.g. https://mirrorservice.org/sites/sourceware.org/pub/cygwin/x86_64/setup.ini) > to work out the paths of the source packages that correspond to each > of the release packages you're using, and to use those. That's going > to be less work and also less fragile than trying to hunt down > repositories that may not even exist. > > Adam This really worked a treat, did the job much better. Thanks so much! :) Hamish