Alien-uv
view release on metacpan or search on metacpan
libuv/MAINTAINERS.md view on Meta::CPAN
* **Saúl Ibarra Corretgé** ([@saghul](https://github.com/saghul))
- GPG key: FDF5 1936 4458 319F A823 3DC9 410E 5553 AE9B C059 (pubkey-saghul)
## Storing a maintainer key in Git
It's quite handy to store a maintainer's signature as a git blob, and have
that object tagged and signed with such key.
Export your public key:
$ gpg --armor --export saghul@gmail.com > saghul.asc
Store it as a blob on the repo:
$ git hash-object -w saghul.asc
The previous command returns a hash, copy it. For the sake of this explanation,
we'll assume it's 'abcd1234'. Storing the blob in git is not enough, it could
be garbage collected since nothing references it, so we'll create a tag for it:
$ git tag -s pubkey-saghul abcd1234
libuv/README.md view on Meta::CPAN
be considered EXPERIMENTAL.
Before verifying the git tags or signature files, importing the relevant keys
is necessary. Key IDs are listed in the
[MAINTAINERS](https://github.com/libuv/libuv/blob/master/MAINTAINERS.md)
file, but are also available as git blob objects for easier use.
Importing a key the usual way:
```bash
$ gpg --keyserver pool.sks-keyservers.net --recv-keys AE9BC059
```
Importing a key from a git blob object:
```bash
$ git show pubkey-saghul | gpg --import
```
### Verifying releases
Git tags are signed with the developer's key, they can be verified as follows:
```bash
$ git verify-tag v1.6.1
```
Starting with libuv 1.7.0, the tarballs stored in the
[downloads site](http://dist.libuv.org/dist/) are signed and an accompanying
signature file sit alongside each. Once both the release tarball and the
signature file are downloaded, the file can be verified as follows:
```bash
$ gpg --verify libuv-1.7.0.tar.gz.sign
```
## Build Instructions
For GCC there are two build methods: via autotools or via [GYP][].
GYP is a meta-build system which can generate MSVS, Makefile, and XCode
backends. It is best used for integration into other projects.
To build with autotools:
libuv/tools/make_dist_html.py view on Meta::CPAN
<td>{groups[2]}</td>
<td>{groups[3]}</td>
</tr>
'''
GROUP = r'''
<table>
<tr>
<th>version</th>
<th>tarball</th>
<th>gpg</th>
<th>windows</th>
</tr>
{rows}
</table>
'''
ROW = r'''
<tr>
<td>
<a href="http://dist.libuv.org/dist/{tag}/">{tag}</a>
</td>
<td>
<a href="http://dist.libuv.org/dist/{tag}/libuv-{tag}.tar.gz">tarball</a>
</td>
<td>{maybe_gpg}</td>
<td>{maybe_exe}</td>
</tr>
'''
GPG = r'''
<a href="http://dist.libuv.org/dist/{tag}/libuv-{tag}.tar.gz.sign">gpg</a>
'''
# The binaries don't have a predictable name, link to the directory instead.
EXE = r'''
<a href="http://dist.libuv.org/dist/{tag}/">exe</a>
'''
def version(tag):
return map(int, re.match('^v(\d+)\.(\d+)\.(\d+)', tag).groups())
def major_minor(tag):
return version(tag)[:2]
def row_for(tag):
maybe_gpg = ''
maybe_exe = ''
# We didn't start signing releases and producing Windows installers
# until v1.7.0.
if version(tag) >= version('v1.7.0'):
maybe_gpg = GPG.format(**locals())
maybe_exe = EXE.format(**locals())
return ROW.format(**locals())
def group_for(tags):
rows = ''.join(row_for(tag) for tag in tags)
return GROUP.format(rows=rows)
# Partition in groups of |n|.
def groups_for(groups, n=4):
html = ''
( run in 0.737 second using v1.01-cache-2.11-cpan-df04353d9ac )