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 -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple