Regardless of the location our sites decide, does it make sense to try to support that use case straight out of the box (box = epics base makefile rules)?
I don't really care about the staging area, that being out of source build or not, so INSTALL_LOCATION could be $(TOP) or something I have write access to, that is fine. I think I'm just concerned with the final installation step or FINAL_LOCATION, from what I understand now.
So, does it make sense to add or split rules in EPICS base (maintaining backwards compatibility) to provide that?
Something like:
make build sudo make FINAL_LOCATION=/opt/test install
Or whatever target name to compile and one target for installing the binaries/libs/etc?
Lucas
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
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
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
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?
Head of Instrument and Telescope Software
East Asian Observatory/JCMT
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.
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.
- Replies:
- Re: How to use INSTALL_LOCATION with system directories Ralph Lange 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
- RE: How to use INSTALL_LOCATION with system directories Abdalla Ahmad via Tech-talk
- Navigate by Date:
- Prev:
RE: How to use INSTALL_LOCATION with system directories Abdalla Ahmad via Tech-talk
- Next:
Question regarding ADPluginFile driver Jörn Dreyer 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
<2023>
2024
- Navigate by Thread:
- Prev:
RE: How to use INSTALL_LOCATION with system directories Abdalla Ahmad via Tech-talk
- Next:
Re: How to use INSTALL_LOCATION with system directories Ralph Lange 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
<2023>
2024
|