Thanks for the suggestion, Martin!
That could work nicely for our Redhat 7 systems as we could
run debian inside docker containers for IOC and application support.
It'll also make a good argument for upgrading more systems to rh7. :0)
- Bruce
On 11/16/2016 03:59 PM, Konrad, Martin wrote:
Hi Bruce,
Relying on yum repo installation of third party packages wasn't
working as the available package versions were often way out of
date.
I guess that's the price you pay for sticking to the same RHEL version
for 10 years ;-) We are planning to upgrade our OS more frequently
(whenever a new Debian version is released).
To handle this, we created a python based system we call package
manager. It consists of python scripts that know how to build and
install typical c/c++ unix packages from tarballs using ./configure,
make, make install, and also how to build and install python packages
using setup.py build and setup.py install. For each package type,
there's also a dependency file to specify version specific package
dependencies, and a short python file to handle quirks of each
package type. For an easy package the new python code is about 10
lines of boilerplate, but we've also handled builds which use qmake,
autogen, cmake, etc. We can also customize configure arguments,
build arguments, add missing headers, customize installs etc.
If you go through all that pain you can also package your software into
RPMs. We are building Debian packages for almost everything. The nice
thing about this is that we can leverage the Debian community's big pool
of packaging/build tools. Have a look at [1] for an example of the kind
of meta data we add to turn something into a proper Debian package. [2]
is an example for the build rules that are automatically generated by
the Debian tools (we usually don't need to touch them).
The best thing about all this that the packaging effort for a lot of
common packages is shared between labs [3].
-Martin
[1] https://github.com/epicsdeb/ether-ip/blob/master/debian/control
[2] https://github.com/epicsdeb/ether-ip/blob/master/debian/rules
[3] https://github.com/epicsdeb
--
Bruce Hill
Member Technical Staff
SLAC National Accelerator Lab
2575 Sand Hill Road M/S 10
Menlo Park, CA 94025
- References:
- Philosophy regarding use of open source libraries for EPICS Rod Nussbaumer
- Re: Philosophy regarding use of open source libraries for EPICS Konrad, Martin
- Navigate by Date:
- Prev:
Re: Philosophy regarding use of open source libraries for EPICS Konrad, Martin
- Next:
Re: Philosophy regarding use of open source libraries for EPICS Shen, Guobao
- 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: Philosophy regarding use of open source libraries for EPICS Konrad, Martin
- Next:
Re: Philosophy regarding use of open source libraries for EPICS Benjamin Franksen
- 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
|