-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create setup.py and support system wide installation #1176
Comments
Please apply the following patch: |
There's a lot of work going on at the moment to refactor SpiderFoot as a package. Unfortunately that's still a long way off. The patch above is going to break a bunch of things. But I agree something similar should be implemented. I'll notify you in this thread when complete. |
yeah, we adopted that patch a few times for each new version, but enough is enough ;-) I masked spiderfoot as "broken" until the refactoring is done, and we have a proper setup.py with user home support. Thanks! |
As a stop gap measure, in theory you could force the path for the cache and database by setting the |
The database file is now loaded from Support for the This should be sufficient for your use case and remove the need for your patches. The next official release should not be far away. Unfortunately, it will not support installation with |
pentoo/pentoo-overlay#740 |
The logs are now stored in The log directory may be overwritten by |
@blshkv SpiderFoot 3.5 has been released. This should address the issues with the database, cache data, and logs. These are all now loaded/stored in |
Almost there. setup.py or pyproject.toml (PEP 517) are still missing. |
Any update on having a setup.py file? The requirements of the projects are very restrictive (since they are versioned), which creates conflicts with other tools. The great alternative to dockerised things is python virtual environments (like pipx for instance), and a setup.py file would be needed for pipx to be able to install spiderfoot |
No. There has been no progress on creating a setup.py file. This is still desirable and the preferred approach for deployment. Progress towards refactoring the libraries is ongoing at a glacial pace.
The test requirements are restrictive and locked to specific versions; however, these are optional for development purposes only. They aren't required for installation and operation. The required dependencies defined in The vast majority of the dependencies (with a few inconvenient exceptions) use the latest major version branch. If these are causing conflicts with other software, the other software should be updated. In instances where a minimum version is enforced, this is usually because older versions are not compatible or contain security vulnerabilities. In instances where a maximum version is enforced, this is usually because newer versions are not compatible. Admittedly, we're a bit slow on checking whether the newest versions of dependencies are compatible. The maximum version, when set, may be safe to extend. |
This is a common problem that many tools which we want to distribute do not support system wide installation. Some of these tools provide their own "install.sh" or "setup.sh" or "requirements.txt" with a distro specific commands (sudo apt-install) to install dependencies instead of a proper setup.py.
With a proper setup.py script, an end user can install it using the following single command:
python3 setup.py install --user. It also a distro friendly and makes life for maintainers easier.
The end result, a FHS compliant directory structure should be created.
In case if software produce any output, a local user directory should be used, such as ~.//
pentoo/pentoo-overlay#596
The text was updated successfully, but these errors were encountered: