You are not logged in.

#1 2020-02-04 15:23:32

Spheerys
Member
Registered: 2012-05-01
Posts: 92

Gitso stopped working well and can't reinstall it after removing

Hi,

I had a strange error with Gitso
I'm using it to help Linux user which "give me the hand".
When they did it, I had on my side an error from Gitso : "Invalid PixelBuffer height of 23760 pixels requested"
The issue occurs from several customers.

I didn't find any info on the web about this error.

I decide to remove the mackage from AUR, and reinstall it.
But now I have a new error during installation :

$ yay -S gitso
[sudo] password for hedy: 
:: Checking for conflicts...
:: Checking for inner conflicts...
[Aur: 1]  gitso-0.6_20151011-4

  1 gitso                            (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> None
:: PKGBUILD up to date, Skipping (1/1): gitso
  1 gitso                            (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> None
:: Parsing SRCINFO (1/1): gitso
==> Making package: gitso 0.6_20151011-4 (Tue Feb  4 16:09:00 2020)
==> Retrieving sources...
  -> Updating Gitso git repo...
R?cup?ration de origin
==> Validating source files with md5sums...
    Gitso ... Skipped
==> Making package: gitso 0.6_20151011-4 (Tue Feb  4 16:09:02 2020)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating Gitso git repo...
R?cup?ration de origin
==> Validating source files with md5sums...
    Gitso ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of Gitso git repo...
Clonage dans 'Gitso'...
fait.
==> Starting prepare()...
==> Patching python scripts to use python2...
==> Applying workarounds for two very annoying x11vnc quirks...
==> Fixing desktop file...
==> Starting pkgver()...
fatal: no name found, impossible to describe anything.
==> ERROR: pkgver is not allowed to contain colons, forward slashes, hyphens or whitespace.
==> ERROR: pkgver() generated an invalid version: ==> Trying to read git version ...
==> Git version failed, using date of last commit ...
0.6_20151011
Error making: gitso

I have post on the AUR page project but the maintainer  didn't answer me for now.

I also tried to compile it "by hand" but I don't understand how to do it because the original code give a script for Debian...

I'm posting here to know if there are other people which have this kind of issue.
I really love this small software for remote assistance. I really prefer it to Anydesk or Teamviewer.

Offline

#2 2020-02-05 11:17:18

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,394

Re: Gitso stopped working well and can't reinstall it after removing

The upstream repo doesn't support git describe .

Looking at the pkgver function there's code to workaround this, but that code doesn't work anymore.
Iirc makepkg has become stricter with such fails a while ago but after 2016 .

use this as pkgver() :

pkgver() {
	cd "$srcdir/Gitso"
		# hardcoded version + _ + date of last commit as YYYYMMDD
		echo -n "${gitsover}_"
		git log -1 --date=format:%Y%m%d --format=%cd
}

You'll also need to edit the depends line
- replace wxpython with python2-wxpython3
- use python2-setuptools instead of python-setuptools

(the 2nd is mandatory. The first could be avoided as python2-wxpython3 does provide wxpython, it just feels cleaner to change it.)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2020-02-05 11:26:24

Spheerys
Member
Registered: 2012-05-01
Posts: 92

Re: Gitso stopped working well and can't reinstall it after removing

A big thank you to you Lone_Wolf.
I reinstall Gitso with success and my strange bug looks good. I just have to confirm this with a distant customer smile

Offline

#4 2020-02-05 11:35:02

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,394

Re: Gitso stopped working well and can't reinstall it after removing

Keep in mind that python2 is EOL and you should start looking for alternatives or find someone willing to update the code to python3 / python-wxpython 4.x .

The person behind rastersoft appears to have moved to gitlab and started a fork of gitso called RemoteH , maybe they're willing to continue developing it.

https://gitlab.com/rastersoft/RemoteH

Last edited by Lone_Wolf (2020-02-05 11:35:56)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#5 2020-02-07 10:22:38

Spheerys
Member
Registered: 2012-05-01
Posts: 92

Re: Gitso stopped working well and can't reinstall it after removing

Thanks for the advice.

I had the opportunity to use Gitso again with a customer and the strange error is still there :
ENnGri2wmscF.png

I don't kown why it's appearing, how to debug it and how to solve it !

Last edited by Spheerys (2020-02-07 11:06:27)

Offline

#6 2020-03-23 06:31:51

djpohly
Member
Registered: 2007-08-14
Posts: 25

Re: Gitso stopped working well and can't reinstall it after removing

Try removing the "-ncache 20" option given to x11vnc by Gitso (line 42 of Processes.py).  I was having a similar issue in a different context--using x11vnc but not Gitso--and this appears to be the same thing.

Offline

#7 2020-03-23 08:52:20

Spheerys
Member
Registered: 2012-05-01
Posts: 92

Re: Gitso stopped working well and can't reinstall it after removing

Thanks taking time to give us your experience !
However, the file lib/python2.7/site-packages/Gitso/Processes.py doesn't contain the string "ncache"
Here the complete file :

#!/usr/bin/env python2

"""
Gisto - Gitso is to support others

Gitso is a utility to facilitate the connection of VNC

@author: Aaron Gerber ('gerberad') <gerberad@gmail.com>
@author: Derek Buranen ('burner') <derek@buranen.info>
@copyright: 2008 - 2010

Gitso is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Gitso is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Gitso.  If not, see <http://www.gnu.org/licenses/>.
"""

import wx
import os, sys, signal, os.path, re
import subprocess
import time
from gettext import gettext as _

class Processes:
  def __init__(self, paths):
    self.returnPID = 0
    self.paths = paths


  def getSupport(self, host):
    if sys.platform == 'darwin':
      self.returnPID = subprocess.Popen([os.path.join(self.paths['resources'],'OSXvnc/OSXvnc-server'), '-connectHost', host]).pid

    elif re.match('(?:open|free|net)bsd|linux',sys.platform):
      # We should include future versions with options for speed.
      #self.returnPID = os.spawnlp(os.P_NOWAIT, 'x11vnc', 'x11vnc','-nopw','-noxrecord','-xkb','-solid','black','-connect','%s' % host)

      self.returnPID = subprocess.Popen(['x11vnc','-nopw','-noxrecord','-xkb','-connect_or_exit', host]).pid

      # Added for OpenBSD compatibility
    elif sys.platform == 'win32':
      self.returnPID = subprocess.Popen(['WinVNC.exe']).pid
      print _("Launched WinVNC.exe, waiting to run -connect command...")
      time.sleep(2)
      if self.paths['mode'] == 'dev':
        subprocess.Popen(['%sWinVNC.exe' % self.paths['resources'], '-connect', '%s' % host])
      else:
        subprocess.Popen(['WinVNC.exe', '-connect', '%s' % host])
    else:
      print _('Platform not detected')
    return self.returnPID


  def giveSupport(self):
    if sys.platform == 'darwin':
      vncviewer = '%scotvnc.app/Contents/MacOS/cotvnc' % self.paths['resources']
      self.returnPID = subprocess.Popen([vncviewer, '--listen']).pid
    elif re.match('(?:open|free|net)bsd|linux',sys.platform):

      # These are the options for low-res connections.
      # In the future, I'd like to support cross-platform low-res options.
      # What aboot a checkbox in the gui
      if self.paths['low-colors'] == False:
        self.returnPID = subprocess.Popen(['vncviewer', '-listen']).pid
      else:
        self.returnPID = subprocess.Popen(['vncviewer', '-bgr233', '-listen']).pid
    elif sys.platform == 'win32':
      if self.paths['mode'] == 'dev':
        self.returnPID = subprocess.Popen(['%svncviewer.exe' % self.paths['resources'], '-listen']).pid
      else:
        self.returnPID = subprocess.Popen(['vncviewer.exe', '-listen']).pid
    else:
      print _('Platform not detected')
    return self.returnPID


  def KillPID(self):
    """
    Kill VNC instance, called by the Stop Button or Application ends.
    
    @author: Derek Buranen
    @author: Aaron Gerber
    """
    if self.returnPID != 0:
      print _("Processes.KillPID(%s)") % str(self.returnPID)
      if sys.platform == 'win32':
        import win32api
        PROCESS_TERMINATE = 1
        handle = win32api.OpenProcess(PROCESS_TERMINATE, False, self.returnPID)
        win32api.TerminateProcess(handle, -1)
        win32api.CloseHandle(handle)
      elif re.match('(?:open|free|net)bsd|linux',sys.platform):
        # New processes are created when you made connections. So if you kill self.returnPID,
        # you're just killing the dispatch process, not the one actually doing business...
        os.spawnlp(os.P_NOWAIT, 'pkill', 'pkill', '-f', 'vncviewer')
        os.spawnlp(os.P_NOWAIT, 'pkill', 'pkill', '-f', 'x11vnc')
      else:
        os.kill(self.returnPID, signal.SIGKILL)
      try:
        os.waitpid(self.returnPID, 0)
      except:
        pass
      self.returnPID = 0
    return

Offline

Board footer

Powered by FluxBB