Homebrew / homebrew-core

🍻 Default formulae for the missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
13.62k stars 12.36k forks source link

suricata: PYTHONPATH needs updates for 6.0.8 #112002

Closed jasonish closed 1 year ago

jasonish commented 1 year ago

brew config output

HOMEBREW_VERSION: 3.6.3
ORIGIN: https://github.com/Homebrew/brew
HEAD: d5b6b068c15a8df60f0f5e34a4ca80dcf82c48e3
Last commit: 3 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 8331461f09b574a524b416da2e04cad1fbe033ca
Core tap last commit: 61 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: :0
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 20
Homebrew Ruby: 2.6.8 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
CPU: 20-core 64-bit unknown_0x6_0x97
Clang: 14.0.5
Git: 2.37.3 => /bin/git
Curl: 7.82.0 => /bin/curl
Kernel: Linux 5.19.6-200.fc36.x86_64 x86_64 GNU/Linux
OS: Fedora release 36 (Thirty Six)
Host glibc: 2.35
/usr/bin/gcc: 12.2.1
/usr/bin/ruby: 3.1.2
glibc: N/A
gcc@11: N/A
gcc@12: N/A
xorg: N/A

brew doctor output

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/htp/bstr.h
  /usr/local/include/htp/bstr_builder.h
  /usr/local/include/htp/htp.h
  /usr/local/include/htp/htp_base64.h
  /usr/local/include/htp/htp_config.h
  /usr/local/include/htp/htp_connection_parser.h
  /usr/local/include/htp/htp_core.h
  /usr/local/include/htp/htp_decompressors.h
  /usr/local/include/htp/htp_hooks.h
  /usr/local/include/htp/htp_list.h
  /usr/local/include/htp/htp_multipart.h
  /usr/local/include/htp/htp_table.h
  /usr/local/include/htp/htp_transaction.h
  /usr/local/include/htp/htp_urlencoded.h
  /usr/local/include/htp/htp_utf8_decoder.h
  /usr/local/include/htp/htp_version.h
  /usr/local/include/htp/lzma/7zTypes.h
  /usr/local/include/htp/lzma/LzmaDec.h
  /usr/local/include/python3.10/Python.h
  /usr/local/include/python3.10/abstract.h
  /usr/local/include/python3.10/bltinmodule.h
  /usr/local/include/python3.10/boolobject.h
  /usr/local/include/python3.10/bytearrayobject.h
  /usr/local/include/python3.10/bytesobject.h
  /usr/local/include/python3.10/cellobject.h
  /usr/local/include/python3.10/ceval.h
  /usr/local/include/python3.10/classobject.h
  /usr/local/include/python3.10/code.h
  /usr/local/include/python3.10/codecs.h
  /usr/local/include/python3.10/compile.h
  /usr/local/include/python3.10/complexobject.h
  /usr/local/include/python3.10/context.h
  /usr/local/include/python3.10/cpython/abstract.h
  /usr/local/include/python3.10/cpython/bytearrayobject.h
  /usr/local/include/python3.10/cpython/bytesobject.h
  /usr/local/include/python3.10/cpython/ceval.h
  /usr/local/include/python3.10/cpython/code.h
  /usr/local/include/python3.10/cpython/compile.h
  /usr/local/include/python3.10/cpython/dictobject.h
  /usr/local/include/python3.10/cpython/fileobject.h
  /usr/local/include/python3.10/cpython/fileutils.h
  /usr/local/include/python3.10/cpython/frameobject.h
  /usr/local/include/python3.10/cpython/import.h
  /usr/local/include/python3.10/cpython/initconfig.h
  /usr/local/include/python3.10/cpython/interpreteridobject.h
  /usr/local/include/python3.10/cpython/listobject.h
  /usr/local/include/python3.10/cpython/methodobject.h
  /usr/local/include/python3.10/cpython/object.h
  /usr/local/include/python3.10/cpython/objimpl.h
  /usr/local/include/python3.10/cpython/odictobject.h
  /usr/local/include/python3.10/cpython/picklebufobject.h
  /usr/local/include/python3.10/cpython/pyctype.h
  /usr/local/include/python3.10/cpython/pydebug.h
  /usr/local/include/python3.10/cpython/pyerrors.h
  /usr/local/include/python3.10/cpython/pyfpe.h
  /usr/local/include/python3.10/cpython/pylifecycle.h
  /usr/local/include/python3.10/cpython/pymem.h
  /usr/local/include/python3.10/cpython/pystate.h
  /usr/local/include/python3.10/cpython/pythonrun.h
  /usr/local/include/python3.10/cpython/pytime.h
  /usr/local/include/python3.10/cpython/sysmodule.h
  /usr/local/include/python3.10/cpython/traceback.h
  /usr/local/include/python3.10/cpython/tupleobject.h
  /usr/local/include/python3.10/cpython/unicodeobject.h
  /usr/local/include/python3.10/datetime.h
  /usr/local/include/python3.10/descrobject.h
  /usr/local/include/python3.10/dictobject.h
  /usr/local/include/python3.10/dynamic_annotations.h
  /usr/local/include/python3.10/enumobject.h
  /usr/local/include/python3.10/errcode.h
  /usr/local/include/python3.10/eval.h
  /usr/local/include/python3.10/exports.h
  /usr/local/include/python3.10/fileobject.h
  /usr/local/include/python3.10/fileutils.h
  /usr/local/include/python3.10/floatobject.h
  /usr/local/include/python3.10/frameobject.h
  /usr/local/include/python3.10/funcobject.h
  /usr/local/include/python3.10/genericaliasobject.h
  /usr/local/include/python3.10/genobject.h
  /usr/local/include/python3.10/import.h
  /usr/local/include/python3.10/internal/pycore_abstract.h
  /usr/local/include/python3.10/internal/pycore_accu.h
  /usr/local/include/python3.10/internal/pycore_asdl.h
  /usr/local/include/python3.10/internal/pycore_ast.h
  /usr/local/include/python3.10/internal/pycore_ast_state.h
  /usr/local/include/python3.10/internal/pycore_atomic.h
  /usr/local/include/python3.10/internal/pycore_atomic_funcs.h
  /usr/local/include/python3.10/internal/pycore_bitutils.h
  /usr/local/include/python3.10/internal/pycore_blocks_output_buffer.h
  /usr/local/include/python3.10/internal/pycore_bytes_methods.h
  /usr/local/include/python3.10/internal/pycore_call.h
  /usr/local/include/python3.10/internal/pycore_ceval.h
  /usr/local/include/python3.10/internal/pycore_code.h
  /usr/local/include/python3.10/internal/pycore_compile.h
  /usr/local/include/python3.10/internal/pycore_condvar.h
  /usr/local/include/python3.10/internal/pycore_context.h
  /usr/local/include/python3.10/internal/pycore_dtoa.h
  /usr/local/include/python3.10/internal/pycore_fileutils.h
  /usr/local/include/python3.10/internal/pycore_format.h
  /usr/local/include/python3.10/internal/pycore_gc.h
  /usr/local/include/python3.10/internal/pycore_getopt.h
  /usr/local/include/python3.10/internal/pycore_gil.h
  /usr/local/include/python3.10/internal/pycore_hamt.h
  /usr/local/include/python3.10/internal/pycore_hashtable.h
  /usr/local/include/python3.10/internal/pycore_import.h
  /usr/local/include/python3.10/internal/pycore_initconfig.h
  /usr/local/include/python3.10/internal/pycore_interp.h
  /usr/local/include/python3.10/internal/pycore_list.h
  /usr/local/include/python3.10/internal/pycore_long.h
  /usr/local/include/python3.10/internal/pycore_moduleobject.h
  /usr/local/include/python3.10/internal/pycore_object.h
  /usr/local/include/python3.10/internal/pycore_parser.h
  /usr/local/include/python3.10/internal/pycore_pathconfig.h
  /usr/local/include/python3.10/internal/pycore_pyarena.h
  /usr/local/include/python3.10/internal/pycore_pyerrors.h
  /usr/local/include/python3.10/internal/pycore_pyhash.h
  /usr/local/include/python3.10/internal/pycore_pylifecycle.h
  /usr/local/include/python3.10/internal/pycore_pymem.h
  /usr/local/include/python3.10/internal/pycore_pystate.h
  /usr/local/include/python3.10/internal/pycore_runtime.h
  /usr/local/include/python3.10/internal/pycore_structseq.h
  /usr/local/include/python3.10/internal/pycore_symtable.h
  /usr/local/include/python3.10/internal/pycore_sysmodule.h
  /usr/local/include/python3.10/internal/pycore_traceback.h
  /usr/local/include/python3.10/internal/pycore_tuple.h
  /usr/local/include/python3.10/internal/pycore_ucnhash.h
  /usr/local/include/python3.10/internal/pycore_unionobject.h
  /usr/local/include/python3.10/internal/pycore_warnings.h
  /usr/local/include/python3.10/interpreteridobject.h
  /usr/local/include/python3.10/intrcheck.h
  /usr/local/include/python3.10/iterobject.h
  /usr/local/include/python3.10/listobject.h
  /usr/local/include/python3.10/longintrepr.h
  /usr/local/include/python3.10/longobject.h
  /usr/local/include/python3.10/marshal.h
  /usr/local/include/python3.10/memoryobject.h
  /usr/local/include/python3.10/methodobject.h
  /usr/local/include/python3.10/modsupport.h
  /usr/local/include/python3.10/moduleobject.h
  /usr/local/include/python3.10/namespaceobject.h
  /usr/local/include/python3.10/object.h
  /usr/local/include/python3.10/objimpl.h
  /usr/local/include/python3.10/opcode.h
  /usr/local/include/python3.10/osdefs.h
  /usr/local/include/python3.10/osmodule.h
  /usr/local/include/python3.10/patchlevel.h
  /usr/local/include/python3.10/py_curses.h
  /usr/local/include/python3.10/pycapsule.h
  /usr/local/include/python3.10/pyconfig.h
  /usr/local/include/python3.10/pydtrace.h
  /usr/local/include/python3.10/pyerrors.h
  /usr/local/include/python3.10/pyexpat.h
  /usr/local/include/python3.10/pyframe.h
  /usr/local/include/python3.10/pyhash.h
  /usr/local/include/python3.10/pylifecycle.h
  /usr/local/include/python3.10/pymacconfig.h
  /usr/local/include/python3.10/pymacro.h
  /usr/local/include/python3.10/pymath.h
  /usr/local/include/python3.10/pymem.h
  /usr/local/include/python3.10/pyport.h
  /usr/local/include/python3.10/pystate.h
  /usr/local/include/python3.10/pystrcmp.h
  /usr/local/include/python3.10/pystrhex.h
  /usr/local/include/python3.10/pystrtod.h
  /usr/local/include/python3.10/pythonrun.h
  /usr/local/include/python3.10/pythread.h
  /usr/local/include/python3.10/rangeobject.h
  /usr/local/include/python3.10/setobject.h
  /usr/local/include/python3.10/sliceobject.h
  /usr/local/include/python3.10/structmember.h
  /usr/local/include/python3.10/structseq.h
  /usr/local/include/python3.10/sysmodule.h
  /usr/local/include/python3.10/token.h
  /usr/local/include/python3.10/traceback.h
  /usr/local/include/python3.10/tracemalloc.h
  /usr/local/include/python3.10/tupleobject.h
  /usr/local/include/python3.10/typeslots.h
  /usr/local/include/python3.10/unicodeobject.h
  /usr/local/include/python3.10/warnings.h
  /usr/local/include/python3.10/weakrefobject.h

Warning: Unbrewed '.la' files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected '.la' files:
  /usr/local/lib/libhtp.la

Warning: Unbrewed '.pc' files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected '.pc' files:
  /usr/local/lib/pkgconfig/htp.pc
  /usr/local/lib/pkgconfig/python-3.10-embed.pc
  /usr/local/lib/pkgconfig/python-3.10.pc

Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected static libraries:
  /usr/local/lib/libhtp.a
  /usr/local/lib/libpython3.10.a

Verification

What were you trying to do (and why)?

Install Suricata

What happened (include all command output)?

suricata-update fails to run.

What did you expect to happen?

To work.

Step-by-step reproduction instructions (by running brew commands)

With Suricata 6.0.8 we changed how the Python tools are installed to not use distutils.  While this was seemless for users who installed from source, most packaging tools need to be updated as they often do special stuff with Python.

I don't knot the brew system so am reporting on behalf of other users.  Essentially the following modification:

#!/bin/bash
#PYTHONPATH="/home/linuxbrew/.linuxbrew/Cellar/suricata/6.0.8/libexec/vendor/lib/python3.10/site-packages" exec "/home/linuxbrew/.linuxbrew/Cellar/suricata/6.0.8/libexec/bin/suricata-update"  "$@"
PYTHONPATH="/home/linuxbrew/.linuxbrew/Cellar/suricata/6.0.8/lib/suricata/python" exec "/home/linuxbrew/.linuxbrew/Cellar/suricata/6.0.8/libexec/bin/suricata-update"  "$@"

has to be made to /home/linuxbrew/.linuxbrew/Cellar/suricata/6.0.8/bin/suricata-update.

Thanks.

cho-m commented 1 year ago

Closing as should have been fixed in #112071. Users will need to brew reinstall suricata