Skip to content

Instantly share code, notes, and snippets.

@jpetazzo
Created August 17, 2011 22:13
Show Gist options
  • Save jpetazzo/1152774 to your computer and use it in GitHub Desktop.
Save jpetazzo/1152774 to your computer and use it in GitHub Desktop.
Compare the available nginx versions and their modules (according to debian packages descriptions)
#!/usr/bin/env python
import commands
pkg2list = {}
for pkgname in 'nginx-full nginx-extras nginx-light'.split():
output = commands.getoutput('apt-cache show '+pkgname)
desc = output.split('MODULES INCLUDED:')[1]
lines = desc.split('\n')
lines = [l.strip() for l in lines if l.strip() and not l.endswith(':')]
modules = ' '.join(lines).split(',')
pkg2list[pkgname] = set(modules)
modlist = sorted(reduce(lambda a,b:a|b, pkg2list.values(), set()))
pkgnames = pkg2list.keys()
print '{0:30}'.format(''),
for pkg in pkgnames:
print '{0:15}'.format(pkg),
print
for mod in modlist:
print '{0:30}'.format(mod),
for pkg in pkgnames:
flag = mod in pkg2list[pkg] and 'YES' or '-'
print '{0:15}'.format(flag),
print
nginx-full nginx-extras nginx-light
Access YES YES YES
Addition File AIO Mail Core - YES -
Addition Mail Core YES - -
Auth Basic YES YES YES
Auto Index YES YES YES
Browser YES YES -
Charset YES YES YES
Echo YES YES -
Embedded Lua - YES -
Embedded Perl - YES -
Empty GIF YES YES YES
FastCGI YES YES YES
Flash Streaming Video - YES -
Geo YES YES -
GeoIP YES YES -
Gzip YES YES YES
Gzip Precompression YES YES -
Headers YES YES YES
IMAP YES YES -
IPv6 YES YES -
IPv6 None Echo - - YES
Image Filter YES YES -
Index YES YES YES
Limit Requests YES YES -
Limit Zone YES YES -
Log YES YES YES
Map YES YES -
Memcached YES YES -
Nginx Development Kit - YES -
POP3 YES YES -
Proxy YES YES YES
Random Index - YES -
RealIP YES YES -
Referer YES YES -
Rewrite YES YES YES
SCGI YES YES -
SMTP YES YES -
SSI YES YES -
SSL Upstream Fair Queue YES YES -
Secure Link - YES -
Split Clients YES YES YES
Stub Status YES YES -
UWSGI Debug YES YES -
Upstream YES YES YES
User ID YES YES -
User ID Gzip Precompression - - YES
WebDAV YES YES -
XSLT YES YES -
Core YES YES YES
@lasse-unity3d
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment