diff --git a/.gitignore b/.gitignore index 53bd95ca6cc8cbe07ca0a6490f355aa2d7419813..9c22d0012acad8e5966d01a6e7252d58a28e6190 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,7 @@ dist/ *.egg-info/ __pycache__/ *.log -.tox -.cache +.tox/ +.cache/ +.vagrant/ +.idea/ diff --git a/MANIFEST.in b/MANIFEST.in index 9620571617add34c60bad977105bb8c3f09343df..739eaea22ed54cef15502fcce47ffc9c90e6757a 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,2 @@ recursive-include unshare -exclude .pre-commit-config.yaml Makefile +exclude .pre-commit-config.yaml Makefile Vagrantfile diff --git a/README.rst b/README.rst index 6d60ec59631c33f9544059cfd6332098559f2fd5..f29ecf5186a9d1b43f9b50dc38aa0461b309bdec 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,25 @@ python-unshare ############## -This is a pure-Python module for accessing libc functions and macros needed -for dealing with Linux namespaces. +This is a pure-Python module with no external dependecies for accessing libc +functions and macros needed for dealing with Linux namespaces. + +Development +----------- + +Development has the following dependecies: +- Tox (install from PyPI by running (:code:`pip install tox`). +- libc headers, make and GCC (On Debian/Ubuntu install by running :code:`apt +install linux-libc-dev build-essential`). + +Testing is done by running :code:`tox`. Auto-generated code (for now just +:code:`unshare/constants.py`) is generated by running :code:`make all`. For Mac +developers there's a Vagrant box defined (it optionally uses +`vagrant-gatling-rsync <https://github.com/smerrill/vagrant-gatling-rsync>`_). + +TODO +---- + +- License. +- Changelog. +- Documentation. diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000000000000000000000000000000000000..d442cea02e844f9b88cd6202bb90a23804e34d43 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,18 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : +Vagrant.configure(2) do |config| + config.vm.box = "debian/jessie64" + if Vagrant.has_plugin?("vagrant-gatling-rsync") + config.gatling.latency = 2.5 + config.gatling.time_format = "%H:%M:%S" + config.gatling.rsync_on_startup = true + end + config.vm.synced_folder ".", "/home/vagrant/python-unshare", + type: "rsync", + rsync__exclude: [".cache", ".tox", "*.egg-info", "*.swp", ".DS_Store", ".idea"] + config.vm.provision "shell", inline: <<-SHELL + sudo apt-get update + sudo apt-get install -yf build-essential linux-libc-dev python-pip python3-pip git + sudo pip install tox + SHELL +end