Going to a New BMS_OSNAME Scheme

There is a branch on the markito3/build_scripts repo, “revise_bms_osname” that has a shortened name for BMS_OSNAME.

At JLab, assume that a user is given only the new BMS_OSNAME. Assume we do not move builds around into new locations. There are two parts to the problem:

  1. To get to the old code we need a link in the new GLUEX_TOP for every package (e.g., a link in builds/Linux_new_bms_osname/halld_recon/halld_recon-1.2.3) to the old location in the old GLUEX_TOP.
  2. For all packages that encode BMS_OSNAME in a directory, in the old GLUEX_TOP, there has to be a soft link with the new name pointing to the directory with the old name, side-by-side with the old-named directory.

Then users will not have to modify scripts.

What about other sites? The usual case is to have one and only one GLUEX_TOP. In this case, users do not pick a GLUEX_TOP using BMS_OSNAME, by construction. Then only the second part of the JLab fix needs to be done, i.e., the side-by-side new and old BMS_OSNAME’ed directories where BMS_OSNAME is encoded in the directory name.

In all of the above, we can probably ignore the dot directories, e.g., .Linux_CentOS7….

To Do:

  1. Test that container builds and real machine builds are equivalent.
  2. Build a table of old and new BMS_OSNAME’s.
  3. Write a script to do the conversion in two parts.
NodeOld BMS_OSNAMENew BMS_OSNAME
markdesk5.itodomainLinux_Fedora35-x86_64-gcc11.2.1Linux_Fedora35-gcc11.2
jlabl5.jlab.orgLinux_RHEL8-x86_64-gcc8.5.0Linux_RHEL8-gcc8.5
jlabl4.jlab.orgLinux_RHEL7-x86_64-gcc4.8.5Linux_RHEL7-gcc4.8
ifarm1802.jlab.orgLinux_CentOS7.7-x86_64-gcc4.8.5Linux_CentOS7-gcc4.8
markdesk5.itodomain.sing_c7Linux_CentOS7-x86_64-gcc4.8.5-cntrLinux_CentOS7-gcc4.8

Used the following script to help make the table above.

#!/bin/bash
if [ -d /u/scratch ]
then
    scratch=/u/scratch
else
    scratch=/scratch
fi
file=$scratch/marki/table.txt
touch $file
hostname >> $file
/group/halld/Software/build_scripts/osrelease.pl >> $file
$scratch/marki/build_scripts/osrelease.pl >> $file

Revised table, April 25, 2022:

Node Old BMS_OSNAME New BMS_OSNAME
jlabl5.jlab.org Linux_RHEL8-x86_64-gcc8.5.0 Linux_RHEL8-x86_64-gcc8.5
ifarm1901.jlab.org Linux_CentOS7.7-x86_64-gcc4.8.5 Linux_CentOS7-x86_64-gcc4.8
jlabl3.jlab.org Linux_RHEL7-x86_64-gcc4.8.5 Linux_RHEL7-x86_64-gcc4.8
markdesk5.itodomain Linux_Fedora35-x86_64-gcc11.2.1 Linux_Fedora35-x86_64-gcc11.2
markdesk5 c7 container Linux_CentOS7-x86_64-gcc4.8.5-cntr Linux_CentOS7-x86_64-gcc4.8
markdesk5 ubuntu container (edited) Linux_Ubuntu20.04-x86_64-gcc9.3.0 Linux_Ubuntu20.04-x86_64-gcc9.3