[QPKG] sherpa mini-package-manager (CLI) beta

This is the best place for community developers to publish their genius work. Your Apps enrich the QNAP Turbo NAS.
Post Reply
scarng
Starting out
Posts: 16
Joined: Thu Apr 14, 2016 8:13 am

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by scarng »

I just switched with all this drama and I'm extremely happy with SickGear.
potestus
Easy as a breeze
Posts: 317
Joined: Tue May 10, 2011 7:30 pm

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by potestus »

Is there a method to switch from chill to gear?
scarng
Starting out
Posts: 16
Joined: Thu Apr 14, 2016 8:13 am

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by scarng »

I stopped SickChill and then installed OSickGear using Sherpa. Then began the process of building the library back, I found it to be pretty easy and best method. Setting up the providers made me discover errors in my old SickChill install. Also, SickGear offers free index lookup as well. I'm now getting more hits and pulls then ever before.
enzo3856
Starting out
Posts: 21
Joined: Wed Nov 27, 2013 5:24 am

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by enzo3856 »

I had been running couchpotato for several years no problem (I realize sherpa doesnt support anymore)

My TS-212p died on a botched firmware update... I was able to restore, but had to do the livecd recovery, so I am starting fresh.
I got sickchill and transmission running...
On my drives (not wiped, thankfully) I still have CP files...
I have been trying to get it working and have pieced how to do this mostly...
I have the startup sh linked in /etc/init.d and I changed my script to point to python instead of python2.7
When i start the couchpotato process I get the following:

Code: Select all

[code]
[/opt/bin] # sh /etc/init.d/couchpotato2.sh start
= (CouchPotato2) is not active
* updating (CouchPotato2): OK
* starting (CouchPotato2): failed!
result=[1]
Traceback (most recent call last):
  File "/share/MD0_DATA/.qpkg/CouchPotato2/CouchPotato2/CouchPotato.py", line 20, in <module>
    from couchpotato.environment import Env
  File "/share/MD0_DATA/.qpkg/CouchPotato2/CouchPotato2/couchpotato/__init__.py", line 5, in <module>
    from couchpotato.api import api_docs, api_docs_missing, api
  File "/share/MD0_DATA/.qpkg/CouchPotato2/CouchPotato2/couchpotato/api.py", line 8, in <module>
    from couchpotato.core.helpers.request import getParams
  File "/share/MD0_DATA/.qpkg/CouchPotato2/CouchPotato2/couchpotato/core/helpers/request.py", line 1, in <module>
    from urllib import unquote
ImportError: cannot import name 'unquote' from 'urllib' (/opt/lib/python3.9/urllib/__init__.pyc)

[/code]

Do i need python 2.7 ? is this a compatibility issue?
Any ideas?
User avatar
OneCD
Guru
Posts: 12010
Joined: Sun Aug 21, 2016 10:48 am
Location: "... there, behind that sofa!"

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by OneCD »

enzo3856 wrote: Sun Jul 25, 2021 1:47 am Do i need python 2.7 ? is this a compatibility issue?
Any ideas?
Sorry, no. I'm unable to support CP installations as it's a long-dead project. :(

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage
User avatar
daNutz
Getting the hang of things
Posts: 72
Joined: Mon May 07, 2012 10:04 pm
Location: London, UK

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by daNutz »

OneCD wrote:
enzo3856 wrote: Sun Jul 25, 2021 1:47 am Do i need python 2.7 ? is this a compatibility issue?
Any ideas?
Sorry, no. I'm unable to support CP installations as it's a long-dead project. :(
It’s a shame but for me CP is still the best product out there.


Sent from my iPhone using Tapatalk
TS-1079Pro - 30TB - RAID 6 - FW: 4.3.6.2232 - MultiMedia
TS-453 Pro - 12TB - RAID 5 - OS: Ubuntu Server 22.04.2 / Docker
SelfHosted
NAS Migration Compatibility

ImageImageImageImageImageImageImageImageImageImageImageImageImage
User avatar
daNutz
Getting the hang of things
Posts: 72
Joined: Mon May 07, 2012 10:04 pm
Location: London, UK

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by daNutz »

Confused as to why my last post was removed…?


Sent from my iPhone using Tapatalk
TS-1079Pro - 30TB - RAID 6 - FW: 4.3.6.2232 - MultiMedia
TS-453 Pro - 12TB - RAID 5 - OS: Ubuntu Server 22.04.2 / Docker
SelfHosted
NAS Migration Compatibility

ImageImageImageImageImageImageImageImageImageImageImageImageImage
User avatar
OneCD
Guru
Posts: 12010
Joined: Sun Aug 21, 2016 10:48 am
Location: "... there, behind that sofa!"

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by OneCD »

daNutz wrote: Mon Jul 26, 2021 6:32 am Confused as to why my last post was removed…?
I removed it as it's off-topic here, and was essentially a duplicate of your other post. ;)

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage
Haskell
Starting out
Posts: 10
Joined: Mon May 27, 2019 2:30 am

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by Haskell »

First of all, thank you OneCD for your awesome work with sherpa and your other projects.

I just discovered that you supported deluge and I was thrilled, after installing it everything worked as expected and that's great, but I encountered a little issue, The command that's executed by sherpa to run deluge-server is:

Code: Select all

/opt/bin/python3 /opt/bin/deluged --logfile /share/CACHEDEV1_DATA/.qpkg/Deluge-server/config/Deluge-server.log --config /share/CACHEDEV1_DATA/.qpkg/Deluge-server/config/ -u 0.0.0.0 --pidfile /var/run/Deluge-server.pid
and that's okay but the log file is empty, I'm trying to troubleshoot a problem with installing the ltConfig plugin, and I think that the reason the log file is empty is that the flag to choose the logging-level is not provided with that command which is set with the -L flag, see here for more info.

my question is, Is there a way to alter with the commands that sherpa use to run apps ? or am I asking the wrong question ? :roll:

and by the way, I think there's something that needs to be done with the core.conf file for Deluge-server, as the default value for "plugins_location" is the following:

Code: Select all

/share/MD0_DATA/.qpkg/Deluge-server/config/plugins
which is not right for my NAS, my data lives in CACHEDEV1_DATA

Thank you again.
User avatar
OneCD
Guru
Posts: 12010
Joined: Sun Aug 21, 2016 10:48 am
Location: "... there, behind that sofa!"

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by OneCD »

Haskell wrote: Tue Jul 27, 2021 8:53 am First of all, thank you OneCD for your awesome work with sherpa and your other projects.
No worries mate. :)
Haskell wrote: Tue Jul 27, 2021 8:53 am ... and I think that the reason the log file is empty is that the flag to choose the logging-level is not provided with that command which is set with the -L flag, see here for more info.

my question is, Is there a way to alter with the commands that sherpa use to run apps ? or am I asking the wrong question ? :roll:
Ah, good point. Yes, you can alter your local launch command in the service script for the Deluge Server QPKG.

This command shows the location of the service script on your NAS:

Code: Select all

[~] # getcfg Deluge-server Shell -f /etc/config/qpkg.conf             
/share/CACHEDEV1_DATA/.qpkg/Deluge-server/deluge-server.sh
Note: please don't edit the service script via the symlink in [/etc/init.d/deluge-server.sh], it must be edited at the source location shown above so your change will persist between reboots.

The line you're looking for is the assignment to the $LAUNCHER constant:

Code: Select all

[~] # grep 'readonly LAUNCHER' $(getcfg Deluge-server Shell -f /etc/config/qpkg.conf )     
    readonly LAUNCHER="$DAEMON_PATHFILE --logfile $(/usr/bin/dirname "$QPKG_INI_PATHFILE")/$QPKG_NAME.log --config $(/usr/bin/dirname "$QPKG_INI_PATHFILE")/ -u 0.0.0.0 --pidfile $DAEMON_PID_PATHFILE"
Edit this line to include your additional options.
Haskell wrote: Tue Jul 27, 2021 8:53 am ... and by the way, I think there's something that needs to be done with the core.conf file for Deluge-server, as the default value for "plugins_location" is the following:

Code: Select all

/share/MD0_DATA/.qpkg/Deluge-server/config/plugins
which is not right for my NAS, my data lives in CACHEDEV1_DATA
Oops, looks like I hardcoded that path into the default config file, then forgot to write a localiser for it. :oops:

I'll fix this for the next package release.

In the meantime, can you please advise if your change to the launch command works? I'll wait to hear from you before adding it to the new QPKG. :geek:

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage
Haskell
Starting out
Posts: 10
Joined: Mon May 27, 2019 2:30 am

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by Haskell »

Thank you for being a good sport!

it worked, adding -L info before --logfile showed some useful logs (using the warning level is not sufficient) and the info level is not verbose at all.

one minor problem I discovered is the following (and that explains why the flags are not showing in the peers screen):

Code: Select all

[WARNING ][deluge.core.preferencesmanager:473 ] Unable to find GeoIP database file: /opt/share/GeoIP/GeoIP.dat
I tried downloading that GeoIP.dat file and placing it in that location, But it shows a different warning:

Code: Select all

[WARNING ][deluge.core.preferencesmanager:471 ] GeoIP Unavailable
I believe there's a python package called GeoIP needs to be installed, I'm not sure.

anyways, thank you for helping me out with this, I still couldn't fix my problem with ltConfig plugin as I see from the logs that everything is loading as expected, but this problem is out of this thread's scope, cheers!
User avatar
OneCD
Guru
Posts: 12010
Joined: Sun Aug 21, 2016 10:48 am
Location: "... there, behind that sofa!"

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by OneCD »

Haskell wrote: Tue Jul 27, 2021 1:04 pm it worked, adding -L info before --logfile showed some useful logs (using the warning level is not sufficient) and the info level is not verbose at all.
Thank you, I'll update this shortly. Image
Haskell wrote: Tue Jul 27, 2021 1:04 pm I believe there's a python package called GeoIP needs to be installed, I'm not sure.
Is it this one? https://pypi.org/project/GeoIP/

Try installing it on your NAS:

Code: Select all

pip3 install GeoIP
... then restart your Deluge Server:

Code: Select all

/etc/init.d/deluge-server.sh restart

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage
Haskell
Starting out
Posts: 10
Joined: Mon May 27, 2019 2:30 am

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by Haskell »

Uhh python and pip, I get headaches managing them on my personal laptop let alone this funky Qnap layout of a system.

I don't have pip installed and I really don't know how to install it correctly, I googled around and found this method it does install pip correctly and it seems to run just fine, but trying pip3 install GeoIP output this dreadful error:

Code: Select all

[~] # pip3 install GeoIP
Collecting GeoIP
  Downloading GeoIP-1.3.2.tar.gz (20 kB)
Building wheels for collected packages: GeoIP
  Building wheel for GeoIP (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /opt/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/setup.py'"'"'; __file__='"'"'/share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-wheel-6uffkbay
       cwd: /share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/
  Complete output (14 lines):
  /opt/lib/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'bugtrack_url'
  Warning: 'classifiers' should be a list, got type 'tuple'
  running bdist_wheel
  running build
  running build_ext
  building 'GeoIP' extension
  creating build
  creating build/temp.linux-x86_64-3.9
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -pipe -fomit-frame-pointer -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O2 -pipe -fomit-frame-pointer -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -DNDEBUG -fno-inline -pthread -O2 -pipe -fomit-frame-pointer -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -DNDEBUG -fno-inline -pthread -I/opt/include -fPIC -I/opt/include/python3.9 -c py_GeoIP.c -o build/temp.linux-x86_64-3.9/py_GeoIP.o
  py_GeoIP.c:21:10: fatal error: Python.h: No such file or directory
   #include <Python.h>
            ^~~~~~~~~~
  compilation terminated.
  error: command '/opt/bin/gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for GeoIP
  Running setup.py clean for GeoIP
Failed to build GeoIP
Installing collected packages: GeoIP
    Running setup.py install for GeoIP ... error
    ERROR: Command errored out with exit status 1:
     command: /opt/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/setup.py'"'"'; __file__='"'"'/share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-record-heglphcj/install-record.txt --single-version-externally-managed --compile --install-headers /opt/include/python3.9/GeoIP
         cwd: /share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/
    Complete output (14 lines):
    /opt/lib/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'bugtrack_url'
    Warning: 'classifiers' should be a list, got type 'tuple'
    running install
    running build
    running build_ext
    building 'GeoIP' extension
    creating build
    creating build/temp.linux-x86_64-3.9
    gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -pipe -fomit-frame-pointer -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O2 -pipe -fomit-frame-pointer -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -DNDEBUG -fno-inline -pthread -O2 -pipe -fomit-frame-pointer -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -DNDEBUG -fno-inline -pthread -I/opt/include -fPIC -I/opt/include/python3.9 -c py_GeoIP.c -o build/temp.linux-x86_64-3.9/py_GeoIP.o
    py_GeoIP.c:21:10: fatal error: Python.h: No such file or directory
     #include <Python.h>
              ^~~~~~~~~~
    compilation terminated.
    error: command '/opt/bin/gcc' failed with exit code 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /opt/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/setup.py'"'"'; __file__='"'"'/share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-install-9d4rwhfq/geoip_2801bcccd6114ca19e015c25cb7b5375/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /share/CACHEDEV1_DATA/.qpkg/Entware/tmp/pip-record-heglphcj/install-record.txt --single-version-externally-managed --compile --install-headers /opt/include/python3.9/GeoIP Check the logs for full command output.
Am I missing the Python.h C header file :-/ I'm helpless :|
Last edited by Haskell on Tue Jul 27, 2021 1:53 pm, edited 2 times in total.
Haskell
Starting out
Posts: 10
Joined: Mon May 27, 2019 2:30 am

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by Haskell »

by the way the .dat format for GeoIP seems to be not supported by MaxMind anymore, people are using scripts to convert the new format to the old one, there's this website that provides converted versions ready to be used
User avatar
OneCD
Guru
Posts: 12010
Joined: Sun Aug 21, 2016 10:48 am
Location: "... there, behind that sofa!"

Re: [QPKG] sherpa mini-package-manager (CLI)

Post by OneCD »

Haskell wrote: Tue Jul 27, 2021 1:44 pm Am I missing the Python.h C header file :-/ I'm helpless :|
I'm getting the same error here. It looks like GeoIP is quite an old package, so it might not be supported anymore. :(

Ah, good news. It seems the current version is now called geoip2: https://pypi.org/project/geoip2/ I don't know if it's compatible with Deluge though.

Try this:

Code: Select all

pip3 install geoip2
It installed correctly on my test NAS. :)

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage
Post Reply

Return to “Community Apps”