Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
"language module" install for system vs users: rant?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9601
Location: almost Mile High in the USA

PostPosted: Tue Oct 17, 2017 6:30 pm    Post subject: "language module" install for system vs users: ran Reply with quote

"Language environments" module system ... I mean for

perl: cpan
python: pip
rust: cargo

I'm sure ruby has its own little annoying system but trying to avoid like the plague.

What is annoying is that for the system, one would expect portage would install things, except when installing library modules, now these pip/cargo/cpan now wants to do the install and wants portage out of the picture.

Well, I suspect these things are available for ease of installation, except when one is now forced to use root to run pip or cargo. Argh! Should these be considered (excuse the previously used term) "vetted" programs and assumed safe to run as root, just like (or not) wget?

What's annoying is that sometimes these repositories make it tough to find the actual package and *really* wants you to cargo/pip/cpan these modules, and pre-downloading the files for airgaps or local distribution is now difficult...

What's your opinion about these?

I think I ran into a system rust:cargo issue when trying to build firefox 56... GRR. More details as I learn more...
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
R0b0t1
Apprentice
Apprentice


Joined: 05 Jun 2008
Posts: 264

PostPosted: Tue Oct 17, 2017 9:01 pm    Post subject: Reply with quote

No. In particular pip is known to break Portage. However, there is a much more serious issue: in some cases these package managers are not implemented securely, and will fetch data over HTTP and then fail to verify it. Haskell had this issue until very recently, and I have looked at some other languages that have the same issue. As it is I personally do not trust any language that comes with its own package manager and consider it an indication of poor design choices made elsewhere.

For a while I had hoped there would be some nice way to elide the per-language package managers. There is no need to keep reinventing the wheel. Unfortunately, people keep gravitating towards custom package management solutions and integrating those solutions very closely with their respective language. For a particularly interesting case, look at Sage Math. The build system bundles a lot of software with itself, including GCC.


Another notable of a language-associated package manager is Go. Invoke with "go get."


Last edited by R0b0t1 on Tue Oct 17, 2017 9:04 pm; edited 1 time in total
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Tue Oct 17, 2017 9:04 pm    Post subject: Reply with quote

eccerr0r,

I hear you. FYI, for Perl at least there's there's app-portage/g-cpan (Autogenerate and install ebuilds for CPAN modules).

In reality there's no cross-distro standard, so there's a vacuum.

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9601
Location: almost Mile High in the USA

PostPosted: Tue Oct 17, 2017 9:20 pm    Post subject: Reply with quote

I especially dislike the "NIH" syndrome for these package managers too: why they have their own package manager? Of course they would like to write the package manager in Perl/Python/Rust/Ruby/Haskell/blah blah blah most likely :-(

Not sure what the solution to this is either if one wants to use the particular libraries with dep hell.

(Fortunately I think I know my way around Perl enough to deal with bypassing CPAN, but not the other languages...rust being the problem at hand here on my other thread...)
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Tue Oct 17, 2017 9:29 pm    Post subject: Reply with quote

Although I don't like it, I see them solving what they perceive as a real problem: it would be a lot more work to work with each disparate package manager than it is to develop a language-specific distribution mechanism. Would I like to see a pan-package-manager distribution mechanism? Absolutely! However, there are multiple unsolved problems, I think.

What would you like to see? Some sort of standard package manager hooks mechanism so that a maintainer could pick up all the modules automatically?

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9601
Location: almost Mile High in the USA

PostPosted: Tue Oct 17, 2017 9:36 pm    Post subject: Reply with quote

I suppose that's part of the reason why this thread is here. I don't know what the best solution is, all that I know, it's annoying!

I don't know the other languages well enough to know what's absolutely necessary to download and where/how to override the search path, but perl seems to be acceptable enough to actually script it as you mentioned. I don't know about the other languages, and even worse if they only offer a git repo and don't really keep tar packaged versions packages around, forcing people to check out a repo if they really want an old version needed for some program that needs that version...

Plus the version "slot" conflicts that portage deals with... I'm not sure how each individual language does this too.

*head spinning*
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
R0b0t1
Apprentice
Apprentice


Joined: 05 Jun 2008
Posts: 264

PostPosted: Tue Oct 17, 2017 11:50 pm    Post subject: Reply with quote

Mr. Graham,

I agree that they solve one problem, after a fashion. The larger issue, to me, is that newer languages seem to eschew old installation methods and require that language's package manager.

A decent example is Haskell. I have found it impossible, so far, to build it without first installing a distributed version of cabal. Cabal (and others) seem to implement non-package management features that are better seen as packaging features. E.g. create a project skeleton and then compile and archive the source and binaries for distribution. This seems more reasonable, but I wish people would interoperate with standard tools like Make more often.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9601
Location: almost Mile High in the USA

PostPosted: Wed Oct 18, 2017 5:13 pm    Post subject: Reply with quote

Then there's ninja and that silly waf...

Perhaps they need to think out the ABI/API better before publishing a spec that changes so much that require a packaging tool that "fixes" the problem by forcing the right version of the libs get downloaded.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Wed Oct 18, 2017 5:38 pm    Post subject: Reply with quote

eccerr0r wrote:
I especially dislike the "NIH" syndrome for these package managers too: why they have their own package manager?

Good question, why aren't we using RPM?
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1800

PostPosted: Wed Oct 18, 2017 6:04 pm    Post subject: Re: "language module" install for system vs users: Reply with quote

eccerr0r wrote:
"Language environments" module system ... I mean for

perl: cpan
python: pip
rust: cargo

I'm sure ruby has its own little annoying system but trying to avoid like the plague.
I totally hear you on this one. PHP and pear is another example. I can understand why they have these installers and I'm not sure there's any alternative that wouldn't conflict with distributions package managers.

pip may be the worst though. As I recall, I don't think it even has any sort of dry run type option to see what it would install. What were they thinking? It just carpet bombs your system with dependencies. I've resorted to running things from a python virtaulenv before for that reason.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9601
Location: almost Mile High in the USA

PostPosted: Wed Oct 18, 2017 6:24 pm    Post subject: Reply with quote

Ant P. wrote:
eccerr0r wrote:
I especially dislike the "NIH" syndrome for these package managers too: why they have their own package manager?

Good question, why aren't we using RPM?

So you're pipping as root for downloading system python packages?
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Wed Oct 18, 2017 8:21 pm    Post subject: Reply with quote

Ant P. wrote:
eccerr0r wrote:
I especially dislike the "NIH" syndrome for these package managers too: why they have their own package manager?

Good question, why aren't we using RPM?
:lol:
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum