Welcome Guest.   Make a donation to an author on the site October 21, 2014, 03:03:15 PM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
Read the Practical Guide to DonationCoder.com Forum Search Features
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1]   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: Per-User Software Installation (and the like...) Under *NIX  (Read 3207 times)
ewemoa
Honorary Member
**
Posts: 2,478



View Profile Give some DonationCredits to this forum member
« on: April 21, 2012, 05:19:01 AM »

I'm hoping to hear from others who are interested in this topic -- hopefully about actual usage whether current or past smiley

Been using the toast [1] tool for a while after having investigated to varying degrees the following:

  • paco
  • alien
  • src2pkg
  • src2pkg-ng
  • checkinstall
  • GNU Stow
  • ESP Package Manager
  • Smart Package Manager
  • OpenPKG

My own usage is under Debian (and a bit of Gentoo).  Some use cases include:

  • Want to use a more up-to-date version of something (and/or would like to patch), but would like to be able to cleanly remove traces / disable / enable
  • Want to use something on a host which lacks that something, but don't have administrative privileges -- and even if I did, don't want to impact other users' environments

Please share stories!



Version: 1.484
MD5: b66e07cd2839177cb644455cc42be3ca
SHA1: 30ec7216cd62b227b51a2ed4ec08641393454f4c



[1] The best introduction to toast I've encountered so far is the article:

  Installing and tracking software updates with toast

If interested, I recommend looking at the toast manual after reading the article.
« Last Edit: April 25, 2012, 01:53:30 AM by ewemoa » Logged
ewemoa
Honorary Member
**
Posts: 2,478



View Profile Give some DonationCredits to this forum member
« Reply #1 on: April 25, 2012, 03:38:17 AM »

Zero Install looks like another possibility.
Logged
ewemoa
Honorary Member
**
Posts: 2,478



View Profile Give some DonationCredits to this forum member
« Reply #2 on: May 20, 2014, 06:59:38 AM »

Just learned about Gentoo Prefix and have been testing the Nix package manager.  These both have the advantage of being actively maintained...
Logged
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,582



View Profile Give some DonationCredits to this forum member
« Reply #3 on: May 20, 2014, 09:39:51 PM »

By hand.  Angry Grin

Seriously, I have a lot of packages that I've compiled from source because A) they weren't in the repos, or B) the version in the repos lacked a desired feature.  I'm a bit paranoid about mixing package managers, so Toast (interesting as it looks) prolly won't be my cup of tea (though I will take a look).
Also, my favored per-user installation directory is already provided; ~/.local, so if the compilation process is the ubiquitous "./configure && make && make install" sort, I'll do ./configure PREFIX=/home/edvard/.local instead.

Oftentimes folks use a different build system like cmake or waf, which throws a monkey wrench in, but similar 'install to non-default directory' functionality is usually there so a little read through the man pages and I'm good.
If it's something that just compiles to a single executable, I just move it to my personal bin directory, ~/.local/bin.
In the case of Lazarus, it likes to be installed to /usr/lib/lazarus by default, but I just compiled and moved the whole source directory with executables (the source is required for adding components) to ~/.local/lib/lazarus.

Every once in a while, I'll find a program that doesn't like being where it's put, and I have to write a shell script that sets LD_LIBRARY_PATH so it can find things, but I've discovered chrpath lately, which allows you to change the rpath inside the executable, which keeps things a bit cleaner.

... And then there are those times when I simply download a binary package and unpack it, because I don't feel like installing it or I want to see if it the executable really needs all those !@#$%& dependencies...
Logged

All children left unattended will be given a mocha and a puppy.
ewemoa
Honorary Member
**
Posts: 2,478



View Profile Give some DonationCredits to this forum member
« Reply #4 on: May 21, 2014, 03:20:57 AM »

I'm a bit paranoid about mixing package managers, so Toast (interesting as it looks) prolly won't be my cup of tea (though I will take a look).

I don't recommend toast now -- other things look more promising and maintained.



One of the aspects of using a package manager I appreciate is being able to cleanly remove packages -- so I like having a package manager that makes it easy to create packages for because often what I want to try is not packaged yet.  Even with Arch's AUR or Gentoo's overlays, there's still stuff people haven't gotten around to packaging (or in some cases may be they have but not shared their results).  PKGBUILDs and .ebuilds are way easier to put together than .debs IMO.



Thanks for the tip regarding chrpath -- hopefully I won't have to use it much, but it sounds like it could be handy!
Logged
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,582



View Profile Give some DonationCredits to this forum member
« Reply #5 on: May 21, 2014, 09:10:17 PM »

One of the aspects of using a package manager I appreciate is being able to cleanly remove packages -- so I like having a package manager that makes it easy to create packages for because often what I want to try is not packaged yet.

Totally agree.  Apt-get purge <package> is sometimes my best friend.  When I go about installing the hard way, I either keep the source folder around so I can do a 'make uninstall' later, or I build an uninstall script from scratch and tuck it away in ~/.local/bin for later use.
Logged

All children left unattended will be given a mocha and a puppy.
ewemoa
Honorary Member
**
Posts: 2,478



View Profile Give some DonationCredits to this forum member
« Reply #6 on: May 21, 2014, 10:33:40 PM »

When I go about installing the hard way, I either keep the source folder around so I can do a 'make uninstall' later, or I build an uninstall script from scratch and tuck it away in ~/.local/bin for later use.

Yes, this makes sense -- it's too bad that the uninstall target isn't always there.

Repeating this type of activity after a while can lead to wondering whether putting together PKGBUILDs, .ebuilds, or Nix packages might be worth the effort smiley
Logged
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,582



View Profile Give some DonationCredits to this forum member
« Reply #7 on: May 21, 2014, 11:57:40 PM »

Yes, it's frustrating when the 'uninstall' target is not in the make file, but I can build an uninstall script (just a bunch of 'rm -rf' lines in a shell script) in less time than it takes me to build a binary .deb, which I have done when the situation calls for it (very few of 'em pass lintian, but as long as I know what's going on, I'm okay with that).
Logged

All children left unattended will be given a mocha and a puppy.
ewemoa
Honorary Member
**
Posts: 2,478



View Profile Give some DonationCredits to this forum member
« Reply #8 on: May 22, 2014, 02:55:48 AM »

Yes, it's frustrating when the 'uninstall' target is not in the make file, but I can build an uninstall script (just a bunch of 'rm -rf' lines in a shell script) in less time than it takes me to build a binary .deb, which I have done when the situation calls for it (very few of 'em pass lintian, but as long as I know what's going on, I'm okay with that).

I haven't always found it easy to know exactly what files get installed (to know what to remove later).  IIRC, there are some programs that try to help with this during installation (e.g. checkinstall) -- but may be you knew about this sort of thing already smiley
Logged
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,582



View Profile Give some DonationCredits to this forum member
« Reply #9 on: May 22, 2014, 09:30:15 PM »

Ah, I'm talking mostly about applications I can set a custom install prefix for.  Usually, I make a 'target' directory in the source tree and install to that (./configure --prefix=/home/edvard/src/sourcefolder/target), then do a 'find ./target > list.txt' and then massage the list.txt file into a remove script.  If I intend to install to the filesystem proper, I make damn sure it's got a 'make uninstall' option first.
 Thmbsup
Logged

All children left unattended will be given a mocha and a puppy.
ewemoa
Honorary Member
**
Posts: 2,478



View Profile Give some DonationCredits to this forum member
« Reply #10 on: May 23, 2014, 07:55:35 AM »

May be you have the makings of tool smiley



On a slightly related note...I wanted to try the latest version of Sigil but found that it depends on Qt5 -- which appears to require a bit more work than I want to go through to install.  The work-around?  Run the Windows portable version of Sigil via Wine...
Logged
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,582



View Profile Give some DonationCredits to this forum member
« Reply #11 on: May 23, 2014, 05:30:30 PM »

...
On a slightly related note...I wanted to try the latest version of Sigil but found that it depends on Qt5 -- which appears to require a bit more work than I want to go through to install.  The work-around?  Run the Windows portable version of Sigil via Wine...

Grin Grin Grin

The title of that workaround is "Rube Goldberg"  Thmbsup
Logged

All children left unattended will be given a mocha and a puppy.
40hz
Supporting Member
**
Posts: 10,723



see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #12 on: May 23, 2014, 06:29:28 PM »

...
On a slightly related note...I wanted to try the latest version of Sigil but found that it depends on Qt5 -- which appears to require a bit more work than I want to go through to install.  The work-around?  Run the Windows portable version of Sigil via Wine...

Grin Grin Grin

The title of that workaround is "Rube Goldberg"  Thmbsup

And deserves a round of applause. That's my kind of hack: Sod pretty - just get the job done.


 Like the Clash so famously said: "F*** Art. Let's dance!"
 Thmbsup Thmbsup



Logged

Don't you see? It's turtles all the way down!
Pages: [1]   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.037s | Server load: 0.28 ]