EPICS Controls Argonne National Laboratory

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  <20182019  2020  2021  2022  2023  2024  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: NSLS-II Debian Repository in 2018
From: "Konrad, Martin" <[email protected]>
To: Ralph Lange <[email protected]>, EPICS Tech Talk <[email protected]>
Date: Thu, 26 Apr 2018 23:51:05 +0000
Hi Anton,
I would like to share how we generate our (a bit crazy) "FRIB version
numbers" that are automatically generated by our CI server. The
numbering scheme is based on the convention used by Jenkins-Debian Glue
[1,2]:

1. upstream version ("-" gets converted to "." by the package
maintainer, e.g. "R6-9" -> "6.9")
2. "-"
3. package version

For manually built packages or packages from the official Debian repo
(should one of our packages make it in there) the version number usually
ends here.

4. "+" (according to the sorting rules [3] manually built versions win
over packages built by Jenkins)
5. "0~" (allows us to smoothly transition to a new numbering scheme
later if necessary - e.g. "0.1" > "0~", see [3] for details)
6. build date + time (ensures correct ordering - newer builds always win)
7. "."
8. build number (easy to compare and remember)
9. "+"
10. distribution (we are translating "jessie" to "debian08" to ensure we
upgrade to the "debian09" (stretch) package when the machine gets
dist-upgraded)
11. "~"
12. "gbp" (built by git-buildpackage)
13. first 6 characters of the SHA1 in our Git repo (this is just an
additional piece of information but it is very handy to find the
corresponding commit in Git)

Here is an example of a package name:
	libasyn4.33_4.33-2+0~20180328045004.65+debian08~1.gbpce3d32_amd64.deb

I don't believe this will work with NMUs but it has worked well for us
so far. Our CI server gets triggered by pushing a commit to Git and it
directly pulls from there so there is no upload to a build queue like
with the Debian build infrastructure.

Cheers,

Martin

[1] https://jenkins-debian-glue.org/
[2]
https://github.com/mika/jenkins-debian-glue/blob/master/scripts/generate-git-snapshot#L84
[3] https://www.debian.org/doc/manuals/maint-guide/first.en.html#namever

-- 
Martin Konrad
High Performance Controls Team Leader
Facility for Rare Isotope Beams
Michigan State University
640 South Shaw Lane
East Lansing, MI 48824-1321, USA
Tel. 517-908-7253
Email: [email protected]

Replies:
Re: NSLS-II Debian Repository in 2018 Ralph Lange
References:
Re: NSLS-II Debian Repository in 2018 Anton Derbenev
Re: NSLS-II Debian Repository in 2018 Ralph Lange
Re: NSLS-II Debian Repository in 2018 Anton Derbenev

Navigate by Date:
Prev: rtems_cpu_usage_report Matt Rippa
Next: Re: Problem with autosave module making it crash at random basis. Konrad, Martin
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: NSLS-II Debian Repository in 2018 Michael Davidsaver
Next: Re: NSLS-II Debian Repository in 2018 Ralph Lange
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 27 Apr 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·