1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: How to use INSTALL_LOCATION with system directories |
From: | Lucas Russo via Tech-talk <tech-talk at aps.anl.gov> |
To: | Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Tue, 10 Oct 2023 10:20:31 +0200 |
I agree. As you said, you could simply install it at your home directory and append to the PATH variable, for me when I developed the RPM packages for EPICS base and most of its support modules and extensions, I chose “/opt” just for the convention, my original target was to streamline the process of installing EPICS base and needed drivers because it became more of a repeated routine with time, we now just do “yum install epics-base stream-device” and we have a complete stream-device support ready.
Best Regards,
Abdalla.
From: Maren Purves <m.purves at eaobservatory.org>
Sent: Tuesday, October 10, 2023 10:54 AM
To: Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo>
Cc: Lucas Russo <lerwys at gmail.com>
Subject: Re: How to use INSTALL_LOCATION with system directories
Yes, agree.
But, while I'm a kinda surrogate system administrator, I'm not a system administrator :), so unless I was to e,g, install a new version of a compiler I wouldn't write into it.
Maren Purves
Head of Instrument and Telescope Software
East Asian Observatory / JCMT
On Mon, Oct 9, 2023 at 9:48 PM Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo> wrote:
To my knowledge, the difference is just a convention. If I remember correctly, the Linux FHS states that “/opt” is used for 3rd party packaged applications, while “/usr/local” is used by system administrators to install software locally (using “make” for example) so that it does not override any system files.
Best Regards,
Abdalla.
From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Lucas Russo via Tech-talk
Sent: Tuesday, October 10, 2023 10:08 AM
To: Maren Purves <m.purves at eaobservatory.org>
Cc: EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: Re: How to use INSTALL_LOCATION with system directories
Hi Maren,
I think my question is why not? That's one usual place where you
install binaries/libaries in a linux system that is not a package
(.deb, .rpm). To my knowledge the recommendation is /usr/local
for "local" packages.
Lucas
On Mon, Oct 9, 2023 at 8:25 PM Maren Purves via Tech-talk <tech-talk at aps.anl.gov> wrote:
The part I don't understand is why you want to install it in system space in the first place.
We never have. Install it somewhere you have write access to and add that to your $PATH?
Maren Purves
Head of Instrument and Telescope Software
East Asian Observatory/JCMT
On Mon, Oct 9, 2023 at 5:28 AM Ralph Lange via Tech-talk <tech-talk at aps.anl.gov> wrote:
On Mon, 9 Oct 2023 at 17:03, Jure Varlec via Tech-talk <tech-talk at aps.anl.gov> wrote:
On 10/9/23 16:15, Lucas Russo via Tech-talk wrote:
Caution: This email originated from outside of Cosylab.
Hi Ralph, Abdalla,
I understand. Because there's no separate "installation phase" it
doesn't seem possible to achieve what I was thinking.
Thanks,
Lucas
Hi Lucas,
Why not? Unless I misunderstood what you want, you could do
make INSTALL_LOCATION=${HOME}/tmp/staging/ FINAL_LOCATION=/opt/test
sudo mv ${HOME}/tmp/staging/ /opt/test
sudo chown -R epics:epics /opt/test # Or root, or whateverPerhaps having the staging directory under $(TOP) or /tmp makes more sense, it depends on your case, but you get the idea. Would this work for you?
Or, if you really want to use make, you can obviously use INSTALL_LOCATION for your staging area, FINAL_LOCATION for the target area and add something like
final-install:
mkdir -p $(FINAL_LOCATION); cp -a $(INSTALL_LOCATION)/* $(FINAL_LOCATION)
to the end of your top Makefile.
Cheers,
~Ralph