#6604 Make pylint and jsl optional (and other issues)
Closed: fixed Opened by cheimes.

configure fails when either pylint or jsl are not available. Both components are only relevant for developers. Default settings for configure should be tailored towards ordinary users. A developer will

$ sudo dnf remove pylint jsl
$ autoreconf -ifv
$ ./configure
...
checking for Pylint... /usr/bin/python: No module named pylint
configure: error: cannot find pylint for /usr/bin/python
$ sudo dnf install -y pylint
$ ./configure
checking for Pylint... yes
checking for jsl... no
configure: error: cannot find JS lint

Also the options to disable linters are confusing:

$ ./configure --disable-pylint --without-jslint

One component uses --disable, the other --without. Also it's called jsl, not jslint.

Lastly --disable-pylint doesn't work fully. Despite --disable-pylint, configure still creates a pylint target when pylint is available.

$ ./configure --disable-pylint --without-jslint
$ make pylint
...
echo "Pylint is running, please wait ..."; \
PYTHONPATH=. /usr/bin/python -m pylint \
        --rcfile=./pylintrc ${FILES}
Pylint is running, please wait ...
/usr/bin/python: No module named pylint
Makefile:1126: recipe for target 'pylint' failed

What is the use case? I what situation would ordinary user run this?

I'm trying to make it easier and more pleasant to build FreeIPA from source. Both pylint and jsl are irrelevant for releases. My direct use case are Python packages from source distributions or git checkouts.

Lukas ran into similar issues and created PR https://github.com/freeipa/freeipa/pull/389.

master:

  • 5c18feaa206bbaee692fc3640b7b79c8d9d6a638 CONFIGURE: Fix detection of pylint
  • 3f91469f327d8d9f3b27e0b67c54a4f47ad845c1 CONFIGURE: Update help message for jslint
  • b82d285a4a75e11cc9291ecca12d2fcc26f43ed1 SPEC: Fix build in mock

Metadata Update from @cheimes:
- Issue assigned to someone
- Issue set to the milestone: FreeIPA 4.5

TODO: update wiki before closing this ticket

Metadata Update from @cheimes:
- Issue close_status updated to: None

master:

  • f1f63506caf88e4d86ea2bfdc7d25eceaf689bc5 Make pylint and jsl optional

Metadata Update from @mbasti:
- Issue set to the milestone: FreeIPA 4.5.1 (was: FreeIPA 4.5)

master:

  • e357133fd7b276ccabfe1896ee948f2bb3541d94 Add make devcheck for developers
  • 6c092c24b2bfbba0a3f263d88f7a0dbf83f24869 Skip test_session_storage in ipaclient unittest mode

ipa-4-5:

  • 89ab24f1fbb58feb603d60503c685ebad41a4237 Add make devcheck for developers
  • c80adf6e0d16f807f90479660af22540cd92d774 Skip test_session_storage in ipaclient unittest mode

Metadata Update from @pvoborni:
- Issue set to the milestone: FreeIPA 4.7 (was: FreeIPA 4.5.1)

FreeIPA's configure script does not require jsl and pylint. Tests are passing.

Metadata Update from @cheimes:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata