### The problem
Using the following software update strategy, weird things happβ¦en if you do not include a version update for your plugin with any commits you push to the identified origin repo/branch.
def get_update_information(self):
# Define the configuration for your plugin to use with the Software Update
# Plugin here. See https://github.com/foosel/OctoPrint/wiki/Plugin:-Software-Update
# for details.
useDevChannel = self._settings.get_boolean(["useDevChannel"])
if useDevChannel:
return dict(bettergrblsupport=dict( # version check: github repository
# update method: pip
displayName='Better Grbl Support (Development Branch)',
type='github_commit',
user='synman',
repo='OctoPrint-Bettergrblsupport',
branch="devel",
current="fd0b1bac7a23ba4b01f58353c7a19c6bc4ea219e",
method="pip",
pip='https://github.com/synman/Octoprint-Bettergrblsupport/archive/refs/heads/devel.zip'))
else:
Since the version check indicates no change, pip does not do an actual re-installation of the package:
```
2022-01-05 19:21:42,181 /home/pi/oprint/bin/python3 -m pip --disable-pip-version-check install https://github.com/synman/Octoprint-Bettergrblsupport/archive/2d4438163da8627d86f80b3236189df32d45fd89.zip --no-cache-dir
2022-01-05 19:21:44,295 > Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
2022-01-05 19:21:44,296 > Collecting https://github.com/synman/Octoprint-Bettergrblsupport/archive/2d4438163da8627d86f80b3236189df32d45fd89.zip
2022-01-05 19:21:44,297 > Downloading https://github.com/synman/Octoprint-Bettergrblsupport/archive/2d4438163da8627d86f80b3236189df32d45fd89.zip
2022-01-05 19:21:46,433 > Requirement already satisfied: OctoPrint in /home/pi/oprint/lib/python3.7/site-packages (from Better-Grbl-Support===2.1.0-rc1.3) (1.7.2)
2022-01-05 19:21:46,435 > Requirement already satisfied: feedparser<7,>=6.0.8 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (6.0.8)
2022-01-05 19:21:46,435 > Requirement already satisfied: psutil<6,>=5.8 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (5.8.0)
2022-01-05 19:21:46,436 > Requirement already satisfied: zeroconf<0.34,>=0.33 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.33.4)
2022-01-05 19:21:46,436 > Requirement already satisfied: PyYAML<6,>=5.4.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (5.4.1)
2022-01-05 19:21:46,436 > Requirement already satisfied: Jinja2<3,>=2.11.3 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.11.3)
2022-01-05 19:21:46,436 > Requirement already satisfied: markdown<3.2,>=3.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (3.1.1)
2022-01-05 19:21:46,436 > Requirement already satisfied: OctoPrint-PiSupport>=2021.10.28 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2021.10.28)
2022-01-05 19:21:46,436 > Requirement already satisfied: pyserial<4,>=3.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (3.5)
2022-01-05 19:21:46,437 > Requirement already satisfied: semantic-version<3,>=2.8.5 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.8.5)
2022-01-05 19:21:46,437 > Requirement already satisfied: pkginfo<2,>=1.7.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.7.1)
2022-01-05 19:21:46,437 > Requirement already satisfied: flask<2,>=1.1.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.1.4)
2022-01-05 19:21:46,437 > Requirement already satisfied: OctoPrint-FirmwareCheck>=2021.10.11 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2021.10.11)
2022-01-05 19:21:46,437 > Requirement already satisfied: blinker<2,>=1.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.4)
2022-01-05 19:21:46,437 > Requirement already satisfied: future<1,>=0.18.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.18.2)
2022-01-05 19:21:46,437 > Requirement already satisfied: pathvalidate<3,>=2.4.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.5.0)
2022-01-05 19:21:46,438 > Requirement already satisfied: OctoPrint-FileCheck>=2021.2.23 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2021.2.23)
2022-01-05 19:21:46,438 > Requirement already satisfied: Flask-Assets<3,>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.0)
2022-01-05 19:21:46,438 > Requirement already satisfied: netifaces<1,>=0.11 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.11.0)
2022-01-05 19:21:46,438 > Requirement already satisfied: wrapt<1.13,>=1.12.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.12.1)
2022-01-05 19:21:46,438 > Requirement already satisfied: markupsafe<2.0,>=1.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.1.1)
2022-01-05 19:21:46,438 > Requirement already satisfied: Flask-Login<0.6,>=0.5 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.5.0)
2022-01-05 19:21:46,438 > Requirement already satisfied: zipstream-new<1.2,>=1.1.8 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.1.8)
2022-01-05 19:21:46,439 > Requirement already satisfied: netaddr<0.9,>=0.8 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.8.0)
2022-01-05 19:21:46,439 > Requirement already satisfied: sarge==0.1.6 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.1.6)
2022-01-05 19:21:46,439 > Requirement already satisfied: immutabledict<3,>=2.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.2.1)
2022-01-05 19:21:46,439 > Requirement already satisfied: websocket-client<1,>=0.59 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.59.0)
2022-01-05 19:21:46,439 > Requirement already satisfied: pylru<2,>=1.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.2.0)
2022-01-05 19:21:46,439 > Requirement already satisfied: Click<8,>=7.1.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (7.1.2)
2022-01-05 19:21:46,439 > Requirement already satisfied: cachelib<0.2,>=0.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.1.1)
2022-01-05 19:21:46,440 > Requirement already satisfied: werkzeug<2,>=1.0.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.0.1)
2022-01-05 19:21:46,440 > Requirement already satisfied: filetype<2,>=1.0.7 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.0.7)
2022-01-05 19:21:46,440 > Requirement already satisfied: colorlog<6,>=5.0.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (5.0.1)
2022-01-05 19:21:46,440 > Requirement already satisfied: emoji<2,>=1.4.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.6.1)
2022-01-05 19:21:46,440 > Requirement already satisfied: watchdog==0.10.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.10.4)
2022-01-05 19:21:46,440 > Requirement already satisfied: sentry-sdk<2,>=1.3.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.4.3)
2022-01-05 19:21:46,440 > Requirement already satisfied: tornado<7,>=6 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (6.1)
2022-01-05 19:21:46,440 > Requirement already satisfied: unidecode in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.4.21)
2022-01-05 19:21:46,441 > Requirement already satisfied: requests<3,>=2.26.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.26.0)
2022-01-05 19:21:46,441 > Requirement already satisfied: itsdangerous<2,>=1.1.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.1.0)
2022-01-05 19:21:46,441 > Requirement already satisfied: regex!=2018.11.6 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2020.11.13)
2022-01-05 19:21:46,441 > Requirement already satisfied: Flask-Babel<2,>=1.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.0.0)
2022-01-05 19:21:46,441 > Requirement already satisfied: pathtools>=0.1.1 in /home/pi/oprint/lib/python3.7/site-packages (from watchdog==0.10.4->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.1.2)
2022-01-05 19:21:46,441 > Requirement already satisfied: sgmllib3k in /home/pi/oprint/lib/python3.7/site-packages (from feedparser<7,>=6.0.8->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.0.0)
2022-01-05 19:21:46,441 > Requirement already satisfied: webassets>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Assets<3,>=2.0->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.0)
2022-01-05 19:21:46,442 > Requirement already satisfied: Babel>=2.3 in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.9.0)
2022-01-05 19:21:46,442 > Requirement already satisfied: pytz in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2020.5)
2022-01-05 19:21:46,442 > Requirement already satisfied: setuptools>=36 in /home/pi/oprint/lib/python3.7/site-packages (from markdown<3.2,>=3.1->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (51.1.2)
2022-01-05 19:21:46,442 > Requirement already satisfied: charset-normalizer~=2.0.0 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.0.7)
2022-01-05 19:21:46,442 > Requirement already satisfied: certifi>=2017.4.17 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2020.12.5)
2022-01-05 19:21:46,442 > Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.26.2)
2022-01-05 19:21:46,442 > Requirement already satisfied: idna<4,>=2.5 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.26.0->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (2.10)
2022-01-05 19:21:46,443 > Requirement already satisfied: six in /home/pi/oprint/lib/python3.7/site-packages (from websocket-client<1,>=0.59->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (1.15.0)
2022-01-05 19:21:46,443 > Requirement already satisfied: ifaddr>=0.1.7 in /home/pi/oprint/lib/python3.7/site-packages (from zeroconf<0.34,>=0.33->OctoPrint->Better-Grbl-Support===2.1.0-rc1.3) (0.1.7)
```
A work-around for this problem is to use the `update_script` install type for the `github_commit` strategy:
checkout_folder = os.path.dirname(os.path.realpath(sys.executable))
return dict(bettergrblsupport=dict( # version check: github repository
# update method: pip
displayName='Better Grbl Support (Development Branch)',
type='github_commit',
user='synman',
repo='OctoPrint-Bettergrblsupport',
branch="devel",
method="update_script",
update_script="{python} -m pip --disable-pip-version-check install https://github.com/synman/Octoprint-Bettergrblsupport/archive/refs/heads/devel.zip --ignore-installed --force-reinstall --no-deps --no-cache-dir",
checkout_folder=checkout_folder))
I didn't know what else to stuff in the checkout_folder so it got the directory octoprint uses for running python. I'm sure there is a better way to do this (or possibly even omit it being required), but it works and no artifacts are left hanging around in `~/oprint/bin`.
For the pip install type to work as expected, Octoprint needs to append a couple additional args when it builds its pip command line for this strategy.
`--ignore-installed --force-reinstall --no-deps`
NOTE: `--no-deps` may be too restrictive.
### Did the issue persist even in safe mode?
I cannot test this issue in safe mode (state why below)
### If you could not test in safe mode, please state why
aren't plugins disabled in safe mode?
### Version of OctoPrint
1.7..2
### Operating system running OctoPrint
Buster
### Printer model & used firmware incl. version
N/A
### Browser and version of browser, operating system running browser
N/A
### Checklist of files to include below
- [X] Systeminfo Bundle (always include!)
- [X] Contents of the JavaScript browser console (always include in cases of issues with the user interface)
- [X] Screenshots and/or videos showing the problem (always include in case of issues with the user interface)
- [X] GCODE file with which to reproduce (always include in case of issues with GCODE analysis or printing behaviour)
### Additional information & file uploads
[octoprint-systeminfo-20220106105117.zip](https://github.com/OctoPrint/OctoPrint/files/7823030/octoprint-systeminfo-20220106105117.zip)