https://github.com/deric/uwsgi-deb-packaging
custom package with python3 support
https://github.com/deric/uwsgi-deb-packaging
Last synced: about 1 year ago
JSON representation
custom package with python3 support
- Host: GitHub
- URL: https://github.com/deric/uwsgi-deb-packaging
- Owner: deric
- Created: 2014-10-02T12:52:31.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-12-22T10:03:32.000Z (over 11 years ago)
- Last Synced: 2025-02-09T20:42:07.815Z (over 1 year ago)
- Language: Shell
- Size: 176 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# uwsgi deb package
Custom uwsgi package
usage:
```
./build_uwsgi
```
* specific version
```
./build_uwsgi --version 2.0.7
```
* with Python 3.4:
```
./build_uwsgi --version 2.0.7 --python "python3.4"
```
* for Python 2.7 just use:
```
./build_uwsgi --version 2.0.7 --python "python"
```
## flags
* `version` - uwsgi version
* `patch` - fix version which is appended to real package version, e.g.: `--patch -1` will produce package version `2.0.7-1`
* `python` - specify Python version which is used for building
## plugins
The main uwsgi building logic is around line 72:
```bash
$python uwsgiconfig.py --build core
$python uwsgiconfig.py --build package
$python uwsgiconfig.py --plugin plugins/python core python32
$python uwsgiconfig.py --plugin plugins/carbon core
```
## requirements
Package is build using FPM
- `apt-get install build-essential`
- some ruby version, e.g. `apt-get install ruby1.9.3`
- `gem install fpm`
- `apt-get install python3 python3-dev` if you want python3 support
- `apt-get install libpcre3 libpcre3-dev` - for perl regexp support
- `apt-get install libssl-dev` - required for SSL support
- `apt-get install libjansson-dev` - JSON support
## TODO
* allow easier uwsgi customization
## uwsgi configuration
uswgi configuration is detected based on libraries installed on your system, make sure that the config matches your expectations:
```
################# uWSGI configuration #################
pcre = True
kernel = Linux
malloc = libc
execinfo = False
ifaddrs = True
ssl = True
zlib = True
locking = pthread_mutex
plugin_dir = /usr/lib/uwsgi
timer = timerfd
yaml = embedded
json = jansson
filemonitor = inotify
routing = True
debug = False
capabilities = False
xml = expat
event = epoll
```
## Pyenv
When using Python from `pyenv` make sure you've build it with `--enable-shared` flag.
```
$ env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.2
$ pyenv global 3.4.2
```