-
Notifications
You must be signed in to change notification settings - Fork 33
sourcepkg: add a complete source package build #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Typo package |
No strong opinions here, something like this makes sense. Is the top-level Makefile necessary or could those targets be in the sourcepkg/Makefile? |
I could move the top level makefile, it just gets a bit harder to write (I could also use bash or something to do the work there). The makefile inside sourcepkg is the one that goes in the tar ball, so it could contain the targets but it'd be a bit odd for someone reading it when they just cracked open the tarball. |
We're going to end up with a lot of bespoke build systems (the Java one is already oof) and so I'm wondering if we can keep ~everything in sub-levels for now. Maybe a |
Yeah, makes sense, I'll move it to be contained. |
note to self, from crawshaw:
there could be a target in Makefile.src to help users produce this |
80f163f
to
8d5d0aa
Compare
I'll have to defer addressing this, as there's something strange going on with the toolchain:
|
1b4702a
to
5344780
Compare
There is a makefile that will produce a libtailscale.tar.zst. This archive contains a vendored Go source tree for libtailscale, and a `configure` and `Makefile` that will produce a .so, a .a, and a .pc file for building & linking against. Updates tailscale/tailscale#8912
5344780
to
b4c693a
Compare
If you want to construct a package build for a distribution, you typically need a copy of all of the sources. This produces an archive that has a sufficiently common form that packagers can easily consume.
The final tarball
make install
target installs .h, .so, .a and .pc into $prefix, e.g.and pkg-config is configured: