Skip to content

Commit 3e2343a

Browse files
committed
prepared for initial release
2 parents 2d9d38a + 0981b5b commit 3e2343a

26 files changed

+98
-66
lines changed

.travis.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,20 @@
2626
# https://github.com/travis-ci/travis-ci/issues/1100#issuecomment-160169121
2727
sudo: required
2828

29-
# Go for more 'recent' version of Ubuntu
30-
dist: trusty
31-
3229
# Repository language
3330
language: python
3431

35-
# Python version
36-
python:
37-
- "3.4"
38-
- "3.5"
39-
- "3.6"
40-
# - "3.7-dev"
32+
# Ubuntu & Python versions
33+
matrix:
34+
include:
35+
- dist: trusty
36+
python: "3.4"
37+
- dist: xenial
38+
python: "3.5"
39+
- dist: xenial
40+
python: "3.6"
41+
- dist: xenial
42+
python: "3.7"
4143

4244
# Install dependencies
4345
addons:
@@ -54,6 +56,8 @@ before_install:
5456
- sudo chown root:$USER /etc/fuse.conf
5557
- sudo echo "user_allow_other" | sudo tee -a /etc/fuse.conf > /dev/null
5658
- python --version
59+
- pip install -U pip
60+
- pip install -U setuptools
5761
- uname -a
5862

5963
# command to install dependencies and module

README.rst

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,27 @@
66
:target: https://travis-ci.org/pleiszenburg/loggedfs-python
77
:alt: Build Status: development branch
88

9+
.. |license| image:: https://img.shields.io/pypi/l/loggedfs.svg?style=flat-square
10+
:target: https://github.com/pleiszenburg/loggedfs/blob/master/LICENSE
11+
:alt: Project License: Apache License v2
12+
13+
.. |status| image:: https://img.shields.io/pypi/status/loggedfs.svg?style=flat-square
14+
:target: https://github.com/pleiszenburg/loggedfs-python/milestone/1
15+
:alt: Project Development Status
16+
17+
.. |pypi_version| image:: https://img.shields.io/pypi/v/loggedfs.svg?style=flat-square
18+
:target: https://pypi.python.org/pypi/loggedfs
19+
:alt: Available on PyPi - the Python Package Index
20+
21+
.. |pypi_versions| image:: https://img.shields.io/pypi/pyversions/loggedfs.svg?style=flat-square
22+
:target: https://pypi.python.org/pypi/loggedfs
23+
:alt: Available on PyPi - the Python Package Index
24+
925
.. |loggedfs_python_logo| image:: http://www.pleiszenburg.de/loggedfs-python_logo.png
1026
:target: https://github.com/pleiszenburg/loggedfs-python
1127
:alt: LoggedFS-python repository
1228

13-
|build_master| |build_develop|
29+
|build_master| |build_develop| |license| |status| |pypi_version| |pypi_versions|
1430

1531
|loggedfs_python_logo|
1632

@@ -21,8 +37,9 @@ LoggedFS-python is a FUSE-based filesystem which can log every operation that ha
2137
It is a pure Python re-implementation of `LoggedFS`_ by `Rémi Flament`_ maintaining CLI compatibility.
2238
The project is heavily inspired by `Stavros Korokithakis`_' 2013 blog post entitled
2339
"`Writing a FUSE filesystem in Python`_" (`source code repository`_).
24-
The filesystem is fully `POSIX`_ compliant (passing the `pjdfstest test-suite`_)
25-
and intended to be suitable for production systems (it is not yet!).
40+
The filesystem is fully `POSIX`_ compliant, passing the `pjdfstest test-suite`_, a descendant of FreeBSD's `fstest`_.
41+
It furthermore passes stress tests with fsx-linux based on the `fsx-flavor`_ released by the `Linux Test Project`_.
42+
It is intended to be suitable for production systems.
2643

2744
.. _LoggedFS: https://github.com/rflament/loggedfs
2845
.. _Rémi Flament: https://github.com/rflament
@@ -31,47 +48,49 @@ and intended to be suitable for production systems (it is not yet!).
3148
.. _source code repository: https://github.com/skorokithakis/python-fuse-sample
3249
.. _POSIX: https://en.wikipedia.org/wiki/POSIX
3350
.. _pjdfstest test-suite: https://github.com/pjd/pjdfstest
51+
.. _fstest: https://github.com/zfsonlinux/fstest
52+
.. _fsx-flavor: http://codemonkey.org.uk/projects/fsx/
53+
.. _Linux Test Project: https://github.com/linux-test-project/ltp
3454

3555

3656
CAVEATS
3757
=======
3858

3959
* PROJECT STATUS: **BETA**
40-
* THE FILESYSTEM HAS RECEIVED **SOME STRESS TESTS WITH FSX-LINUX**
41-
BASED ON THE `FSX-FLAVOR`_ RELEASED BY THE `LINUX TEST PROJECT`_.
42-
**FSX REPORTS WRITE HOLES!**
43-
FULL TESTS UND RELATED BUG-FIXES ARE UNDER WAY.
4460
* A `CUSTOM BUG-FIXED VERSION OF FUSEPY`_ IS REQUIRED FOR FULL POSIX COMPLIANCE.
61+
IT IS AUTOMATICALLY INSTALLED FROM GITHUB AS A DEPENDENCY OF THIS PACKAGE.
4562
IF THE LATEST OFFICIAL RELEASE OF FUSEPY IS USED INSTEAD, TIMESTAMPS WILL BE
4663
INACCURATE ON A NANOSECOND TO MICROSECOND SCALE AND UTIME_NOW AS WELL AS
47-
UTIME_OMIT WILL NOT BE HONORED. THERE IS A `PENDING PULL REQUEST`_.
64+
UTIME_OMIT WILL NOT BE HONORED. THERE WAS A `PULL REQUEST`_ TO FIX THIS,
65+
WHICH HAS BEEN REJECTED. ALTERNATIVE APPROACHES ARE BEING RESEARCHED.
4866
* THE FILESYSTEM IS CURRENTLY **ONLY** BEING DEVELOPED FOR AND TESTED ON **LINUX**.
4967
ANYONE INTERESTED IN ADDING MAC OS X AND/OR BSD SUPPORT?
5068

51-
.. _FSX-FLAVOR: http://codemonkey.org.uk/projects/fsx/
52-
.. _LINUX TEST PROJECT: https://github.com/linux-test-project/ltp
5369
.. _CUSTOM BUG-FIXED VERSION OF FUSEPY: https://github.com/s-m-e/fusepy
54-
.. _PENDING PULL REQUEST: https://github.com/fusepy/fusepy/pull/79
70+
.. _PULL REQUEST: https://github.com/fusepy/fusepy/pull/79
5571

5672

5773
Installation
5874
============
5975

76+
From the `Python Package Index`_ (PyPI):
77+
6078
.. code:: bash
6179
62-
pip install git+https://github.com/pleiszenburg/loggedfs-python.git@master
80+
pip install loggedfs
81+
82+
From GitHub:
6383

64-
This project has intentionally not yet been published in the `Python Package Index`_ (PyPI).
65-
It will be released on PyPI once critical changes have been merged into `fusepy`_,
66-
a dependency of LoggedFS-python.
84+
.. code:: bash
85+
86+
pip install git+https://github.com/pleiszenburg/loggedfs-python.git@master
6787
68-
**Supports Python 3.{4,5,6}.**
88+
**Supports Python 3.{4,5,6,7}.**
6989

7090
**Supports Linux.**
71-
Support for MAC OS X and BSD likely requires minor changes only, but has yet not been added.
91+
Support for MAC OS X and BSD requires a minor change only, but has yet not been added: Access to the system log is currently being achieved through ``logging.handlers.SysLogHandler(address = '/dev/log')``, a Linux-only solution.
7292

7393
.. _Python Package Index: https://pypi.org/
74-
.. _fusepy: https://github.com/fusepy/fusepy
7594

7695

7796
Simple usage example

makefile

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
# makefile: GNU makefile for project management
66
#
7-
# Copyright (C) 2017-2018 Sebastian M. Ernst <[email protected]>
7+
# Copyright (C) 2017-2019 Sebastian M. Ernst <[email protected]>
88
#
99
# <LICENSE_BLOCK>
1010
# The contents of this file are subject to the Apache License
@@ -21,15 +21,29 @@
2121

2222
T = ""
2323

24+
clean:
25+
-rm -r build/*
26+
-rm -r dist/*
27+
-rm -r src/*.egg-info
28+
# -rm -r htmlconv/*
29+
# -rm .coverage*
30+
coverage erase
31+
find src/ tests/ -name '*.pyc' -exec rm -f {} +
32+
find src/ tests/ -name '*.pyo' -exec rm -f {} +
33+
# find src/ tests/ -name '*~' -exec rm -f {} +
34+
find src/ tests/ -name '__pycache__' -exec rm -fr {} +
35+
# find src/ tests/ -name '*.htm' -exec rm -f {} +
36+
# find src/ tests/ -name '*.html' -exec rm -f {} +
37+
# find src/ tests/ -name '*.so' -exec rm -f {} +
38+
2439
# docu:
2540
# @(cd docs; make clean; make html)
2641

2742
release:
28-
-rm dist/*
29-
-rm -r src/*.egg-info
43+
make clean
3044
python setup.py sdist bdist_wheel
31-
gpg --detach-sign -a dist/literatur*.whl
32-
gpg --detach-sign -a dist/literatur*.tar.gz
45+
gpg --detach-sign -a dist/loggedfs*.whl
46+
gpg --detach-sign -a dist/loggedfs*.tar.gz
3347

3448
upload:
3549
for filename in $$(ls dist/*.tar.gz dist/*.whl) ; do \
@@ -42,12 +56,12 @@ upload_test:
4256
done
4357

4458
install:
45-
pip install --process-dependency-links .[dev]
59+
pip install .[dev]
4660
make install_fstest
4761
make install_fsx
4862

4963
install_link:
50-
pip install --process-dependency-links -e .[dev]
64+
pip install -e .[dev]
5165
make install_fstest
5266
make install_fsx
5367

requirements.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

setup.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
setup.py: Used for package distribution
1010
11-
Copyright (C) 2017-2018 Sebastian M. Ernst <[email protected]>
11+
Copyright (C) 2017-2019 Sebastian M. Ernst <[email protected]>
1212
1313
<LICENSE_BLOCK>
1414
The contents of this file are subject to the Apache License
@@ -43,13 +43,13 @@
4343

4444

4545
# Bump version HERE!
46-
_version_ = '0.0.0'
46+
_version_ = '0.0.1'
4747

4848

4949
# List all versions of Python which are supported
5050
confirmed_python_versions = [
5151
('Programming Language :: Python :: %s' % x)
52-
for x in '3.4 3.5 3.6'.split(' ')
52+
for x in '3.4 3.5 3.6 3.7'.split(' ')
5353
]
5454

5555

@@ -98,12 +98,9 @@
9898
license = 'Apache License 2.0',
9999
keywords = ['filesystem', 'fuse', 'logging', 'monitoring'],
100100
include_package_data = True,
101-
dependency_links = [
102-
'https://github.com/s-m-e/fusepy/tarball/master#egg=fusepy-2.0.99'
103-
],
104101
install_requires = [
105102
'click',
106-
'fusepy==2.0.99',
103+
'fusepy @ git+https://github.com/s-m-e/fusepy@master#egg=fusepy-2.0.99',
107104
'xmltodict'
108105
],
109106
extras_require = {'dev': development_deps_list},
@@ -113,7 +110,7 @@
113110
''',
114111
zip_safe = False,
115112
classifiers = [
116-
'Development Status :: 3 - Alpha',
113+
'Development Status :: 4 - Beta',
117114
'Environment :: Console',
118115
'Intended Audience :: Developers',
119116
'Intended Audience :: Information Technology',

src/loggedfs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
src/loggedfs/__init__.py: Module init
1010
11-
Copyright (C) 2017-2018 Sebastian M. Ernst <[email protected]>
11+
Copyright (C) 2017-2019 Sebastian M. Ernst <[email protected]>
1212
1313
<LICENSE_BLOCK>
1414
The contents of this file are subject to the Apache License

src/loggedfs/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
src/loggedfs/cli.py: Command line interface
1010
11-
Copyright (C) 2017-2018 Sebastian M. Ernst <[email protected]>
11+
Copyright (C) 2017-2019 Sebastian M. Ernst <[email protected]>
1212
1313
<LICENSE_BLOCK>
1414
The contents of this file are subject to the Apache License

src/loggedfs/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
src/loggedfs/core.py: Module core
1010
11-
Copyright (C) 2017-2018 Sebastian M. Ernst <[email protected]>
11+
Copyright (C) 2017-2019 Sebastian M. Ernst <[email protected]>
1212
1313
<LICENSE_BLOCK>
1414
The contents of this file are subject to the Apache License

tests/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
tests/__init__.py: Test module init
1010
11-
Copyright (C) 2017-2018 Sebastian M. Ernst <[email protected]>
11+
Copyright (C) 2017-2019 Sebastian M. Ernst <[email protected]>
1212
1313
<LICENSE_BLOCK>
1414
The contents of this file are subject to the Apache License

tests/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
tests/conftest.py: Configures the tests
1010
11-
Copyright (C) 2017-2018 Sebastian M. Ernst <[email protected]>
11+
Copyright (C) 2017-2019 Sebastian M. Ernst <[email protected]>
1212
1313
<LICENSE_BLOCK>
1414
The contents of this file are subject to the Apache License

0 commit comments

Comments
 (0)