etesync / etesync-dav

This is a CalDAV and CardDAV adapter for EteSync
https://www.etesync.com
GNU General Public License v3.0
295 stars 50 forks source link

Etesync tries to use anaconda - despite not existing #103

Closed ChasNelson1990 closed 4 years ago

ChasNelson1990 commented 4 years ago

Hi, I had Anaconda installed on my PC for a course I was designed/delivering. During this time I updated etesync and noticed no problems.

Now the course is complete I have removed anaconda because I hate it (a lot!). My etesync now fails because it's looking for the anaconda install. This is, in fact, hard wired as line 0 in the etesync-dav file that's been installed (through AUR).

Okay, so I uninstall etesync and all dependencies. I reinstall all other Python modules on my PC (just in case). I reinstall etesync... and it still hard codes my now non-existent anaconda into the /usr/bin file.

Obviously, I can hard fix this but I was wondering if this indicates something happening during install that shouldn't?

I removed anaconda using anaconda-clean and deleting my local anaconda folder (as recommended). If I run a locate for anaconda, I only get the back-up folder. I corrected my .zshrc but I note my (unused) .bashrc still has the conda init lines in. Could this have an effect on the install?

Happy to provide additional information as required.

ChasNelson1990 commented 4 years ago

Note: I deleted the conda init lines from my bashrc and uninstalled-reinstalled and it's still trying to use anaconda.

ChasNelson1990 commented 4 years ago

Also note: changing line 0 to #!/usr/bin/python actually doesn't work as it seems (perhaps unsurprisingly with hindsight) that it hasn't been installed for this python.

tasn commented 4 years ago

Are you saying that the etesync-dav file had a reference to anaconda? This can only happen if anaconda goes and changes system executables which I very much doubt. I think you should ask the anaconda devs, maybe they have some sort of a hook into setuputils that's causing scripts to be rewritten. As you can see from the etesync-dav source, this doesn't come from there: https://github.com/etesync/etesync-dav/blob/master/scripts/etesync-dav#L1

ChasNelson1990 commented 4 years ago

Yes, I was saying that the etesync-dav file has a reference to anaconda. As I say, anaconda wasn't installed on my system anymore so it can't be anaconda.

Okay... so... I reuninstalled and made sure there was no file on my PC with etesync in the title. This included clearing the build caches and AUR repos from my system (I use pikaur). I then reinstalled and line 0 is still modified from your source but now to #!/usr/bin/python (and so works).

I need to understand AUR packages better I guess as something controlled by pikaur (in my case) is overwriting that first line. I've read your pkgbuild and it isn't coming from their so I'm very confused. It's possible pikaur was using a cached build from when I had anaconda - but I still don't understand why they're overwriting shebang lines...

Anyway. Solved. Thank you.

tasn commented 4 years ago

Yeah. Lingering caches and this class of errors could happen, by that I'm not surprised. I'm surprised that something was editing the shebang. Not that something was still editing the shebang, but that something was editing the shebang in the first place. That's just odd behaviour.

Anyhow, I'm glad to hear it works.