Code Monkey home page Code Monkey logo

Comments (11)

JBakamovic avatar JBakamovic commented on July 18, 2024

Right, most of the time I am focused on adding new features but this will be fixed as well. At the time when I was writing this installation script, idea was to ease the whole installation process as much as possible and not to bug users to install everything by hand. However, I do agree with aforementioned things you've pointed out.

from yavide.

CDSRV avatar CDSRV commented on July 18, 2024

the request for the user's password is a little cryptic as its not actually stating that the user running the script needs to be able to run 'sudo' and things don't seem to install correctly if the script is run as root. also if its installing other packages it should also check for important dependencies such as 'gvim'

from yavide.

mateuszlewko avatar mateuszlewko commented on July 18, 2024

I 'd like to install this but I don't have root permissions on my workstation, what can I do?
I'm running CentOS 6.6

Thanks!

from yavide.

JBakamovic avatar JBakamovic commented on July 18, 2024

So you are not able to run any yum install commands?

If not then I am afraid you will not get it run very easily. Yavide depends on variety of libraries which you can try and build yourself (if possible at all with such limited rights on the workstation). However, most of these are pulled in because of ctags/cscope/python-watchdog and my plan is to completely get rid of them. This will happen as soon as I finish with the implementation of clang-based indexer. With the implementation I am aiming for, there should be none to minimum dependencies required.

from yavide.

evg-zhabotinsky avatar evg-zhabotinsky commented on July 18, 2024

This issue really needs to be addressed. Using root unnecessarily is bad. make install is usually separate for a reason, and even then it's highly discouraged to run it as root on real system.

Right now you are using root to clone repos and pull stuff with git, and to download, unpack and build cppcheck. One should never do such things as root.

You also run make install for cppcheck as root, which is generally a really bad idea too. If you really need a fresh version, you could install a private copy under yavide directory as non-root user.

As a side note, using pip install as root totally wrecked my distro-provided (I use Linux Mint) Python installation once, to the point of Cinnamon desktop periodically freaking out and some apps like Deluge or even IPython qtconsole not starting at all. I had to manually scrub every mention of Python from my filesystem and then reinstall all Python-related packages. It's better to use packages from distro repos instead, and only after that resort to pip install. Or even better, run pip as normal user to install packages somewhere under $HOME.

And finally, it shouldn't be that hard to properly package this app. I don't have much experience with building .deb packages, but .rpm one is about as easy as reformatting your install.sh a bit to match .spec file syntax expected by rpmbuild.

P.S.
The point of this rant is, you shouldn't be using root access unnecessarily, or preferably at all, without properly warning the user. If you mess up, a lot of people may get really angry.
Off the top of my head, there was a recent incident where Yandex.disk uninstaller script had a typo that led to update/uninstall running fm -rf / equivalent as root.
When you ask for root password, you get total power over user's machine, including power to completely wreck it. Better be careful with it.

And yes, I actually entered my password before really thinking about it. And then I had to make uninstall manually, good thing your install.sh is reasonably readable.

from yavide.

JBakamovic avatar JBakamovic commented on July 18, 2024

Right now you are using root to clone repos and pull stuff with git, and to download, unpack and build cppcheck. One should never do such things as root.

You somehow missed the necessity of system packages installation? That is the reason for root access and it is not unnecessary unless you point me to a better way?

from yavide.

lacombar avatar lacombar commented on July 18, 2024

There is 21 command using sudo, and you're justifying its use by a use-case representing 5% of that list ?

from yavide.

lacombar avatar lacombar commented on July 18, 2024

... and btw, I can understand devel libs, but gvim ? why ?

from yavide.

JBakamovic avatar JBakamovic commented on July 18, 2024

If you feel so please contribute with a better solution. You seem to be very knowledgeable on the topic ... perhaps better than me.

But I am glad that we are finally on the same page and that we agree it's not so "pointless" anymore.

from yavide.

evg-zhabotinsky avatar evg-zhabotinsky commented on July 18, 2024

I think I intend to fix packaging issue. Got a question though:
Why exactly are you rebuilding cppcheck? It should be available in repos.

from yavide.

JBakamovic avatar JBakamovic commented on July 18, 2024

At the time when I was initially writing this script, cppcheck was not available in the repos so yeah it is a little bit outdated (and also wrong because it can overwrite your system cppcheck installation).

from yavide.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.