EPICS Home

Experimental Physics and Industrial Control System


 
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  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: RE: How to use INSTALL_LOCATION with system directories
From: Abdalla Ahmad via Tech-talk <tech-talk at aps.anl.gov>
To: Maren Purves <m.purves at eaobservatory.org>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 10 Oct 2023 08:01:26 +0000

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 whatever

Perhaps 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


Replies:
Re: How to use INSTALL_LOCATION with system directories Lucas Russo via Tech-talk
References:
How to use INSTALL_LOCATION with system directories Lucas Russo via Tech-talk
Re: How to use INSTALL_LOCATION with system directories Ralph Lange via Tech-talk
Re: How to use INSTALL_LOCATION with system directories Lucas Russo via Tech-talk
Re: How to use INSTALL_LOCATION with system directories Jure Varlec via Tech-talk
Re: How to use INSTALL_LOCATION with system directories Ralph Lange via Tech-talk
Re: How to use INSTALL_LOCATION with system directories Maren Purves via Tech-talk
Re: How to use INSTALL_LOCATION with system directories Lucas Russo via Tech-talk

Navigate by Date:
Prev: Re: How to use INSTALL_LOCATION with system directories Maren Purves via Tech-talk
Next: Re: How to use INSTALL_LOCATION with system directories Lucas Russo via Tech-talk
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  <20232024 
Navigate by Thread:
Prev: Re: How to use INSTALL_LOCATION with system directories Lucas Russo via Tech-talk
Next: Re: How to use INSTALL_LOCATION with system directories Lucas Russo via Tech-talk
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  <20232024