Go to file
Nicolas Iooss 41764b73a7
Travis-CI: run flake8 on Python code
flake8 is a Python linter which is able to detect issues in Python code
(syntax errors, undefined variables, etc.). It has been used to find
bugs in the project. In order to prevent the introduction of new bugs
which can be detected by it, add a script which runs it and use it in
Travis-CI.

flake8 can be used to detect code which is not written according to PEP8
style guide (which forbids whitespaces in some places, enforces the use
of space-indenting, specifies how many blank lines are used between
functions, etc.). As SELinux code does not follow this style guide,
scripts/run-flake8 disables many warnings related to this when running
the linter.

In order to silence flake8 warnings, the Python code can also be
modified. However fixing every "do not use bare 'except'" in the project
needs to be done carefully and takes much time.
This is why the warnings which are disabled have been ordered in three
lists:
* The warnings which can be activated in a not-so-distant future after
  the code has been modified.
* The warnings related to PEP8 which cannot be activated without a major
  cleaning work of the codebase (for example to modify white spaces)
* The warnings which are introduced by code generated by SWIG 3.0.12,
  which would require patches in SWIG in order to be activated (there
  is right now only one such warning).

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
2018-08-18 12:00:24 +02:00
checkpolicy checkpolicy: destroy the class datum if it fails to initialize 2018-05-30 22:00:13 +02:00
dbus Update VERSIONs to 2.8 for release. 2018-05-24 14:21:09 -04:00
gui Fix minor typos 2018-06-30 20:28:25 +02:00
libselinux libselinux: fix flake8 warnings in SWIG-generated code 2018-08-15 22:12:07 +02:00
libsemanage Fix minor typos 2018-06-30 20:28:25 +02:00
libsepol Fix minor typos 2018-06-30 20:28:25 +02:00
mcstrans mcstrans: fix memory leaks reported by clang's static analyzer 2018-07-04 22:09:06 +02:00
policycoreutils policycoreutils/hll/pp: remove unused variable 2018-06-06 15:56:45 -04:00
python python/sepolicy: add missing % in network tab help text 2018-08-15 23:00:08 +02:00
restorecond restorecond: close the PID file if writing to it failed 2018-07-04 22:08:27 +02:00
sandbox Fix minor typos 2018-06-30 20:28:25 +02:00
scripts Travis-CI: run flake8 on Python code 2018-08-18 12:00:24 +02:00
secilc secilc: Make the clean target call the clean target of docs/ 2018-05-30 22:06:43 +02:00
semodule-utils Update VERSIONs to 2.8 for release. 2018-05-24 14:21:09 -04:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml Travis-CI: run flake8 on Python code 2018-08-18 12:00:24 +02:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
Makefile build: setup buildpaths if DESTDIR is specified 2018-02-14 20:02:03 +01:00
README libsepol: build: follow standard semantics for DESTDIR and PREFIX 2018-02-14 15:59:36 +01:00

Please submit all bug reports and patches to selinux@tycho.nsa.gov.
Subscribe via selinux-join@tycho.nsa.gov.

Build dependencies on Fedora:
yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python-devel setools-devel swig xmlto redhat-rpm-config

To build and install everything under a private directory, run:
make DESTDIR=~/obj install install-pywrap

To install as the default system libraries and binaries
(overwriting any previously installed ones - dangerous!),
on x86_64, run:
make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel
or on x86 (32-bit), run:
make install install-pywrap relabel

This may render your system unusable if the upstream SELinux userspace
lacks library functions or other dependencies relied upon by your
distribution.  If it breaks, you get to keep both pieces.

To install libsepol on macOS (mainly for policy analysis):
cd libsepol; make PREFIX=/usr/local install

This requires GNU coreutils (brew install coreutils).