refs #597 make image smaller by not keeping a copy of the opengnsys repo

pull/1/head
Natalia Serrano 2024-08-20 12:16:04 +02:00
parent f002c5678a
commit 866cdb4d86
3 changed files with 13 additions and 9 deletions

View File

@ -27,11 +27,13 @@ RUN groupadd opengnsys
RUN mkdir -p /opt/opengnsys/client /tmp/opengnsys/oglive_builder /var/lib/tftpboot/
RUN ln -fs /var/lib/tftpboot /opt/opengnsys
## take client stuff from the OG repo
RUN git clone -c http.sslVerify=false --branch ${OPENGNSYS_BRANCH} https://ognproject.evlt.uma.es/gitea/opengnsys/opengnsys.git /tmp/ogrepo
RUN rsync -aH /tmp/ogrepo/client/engine /tmp/ogrepo/client/shared /tmp/opengnsys/
## take stuff from the OG repo: a) cloning engine, b) shared stuff and c) gitrelease
RUN git clone -c http.sslVerify=false --branch ${OPENGNSYS_BRANCH} https://ognproject.evlt.uma.es/gitea/opengnsys/opengnsys.git /tmp/ogrepo && \
mv /tmp/ogrepo/client/engine /tmp/ogrepo/client/shared /tmp/opengnsys/ && \
git --git-dir /tmp/ogrepo/.git log --date format:r%Y%m%d --format=%ad -1 >/tmp/opengnsys/oglive_builder/gitrelease && \
rm -rf /tmp/ogrepo/
RUN echo foo4
RUN echo foo2 ## development: invalidate docker cache at this point, so that the 'COPY' below actually copies files
COPY . /tmp/opengnsys/oglive_builder/
RUN cp /tmp/opengnsys/oglive_builder/schroot.conf /tmp/opengnsys/oglive_builder/mount-defaults /etc/schroot/ && echo '' >/etc/schroot/default/nssdatabases && rm -f /etc/schroot/setup.d/*chrootname

View File

@ -131,11 +131,10 @@ def GetOsInfo1 (type_client):
oshttp=None
return osdistrib, oscodename, osrelease, osarch, oshttp
def GetOsInfo2 (ogrepo_dir, versionboottools, oscodename, osrelease, osarch):
gitrelease, _ = utils.run (['git', '--git-dir', f'{ogrepo_dir}/.git', 'log', '--date', 'format:r%Y%m%d', '--format=%ad', '-1'])
def GetOsInfo2 (versionboottools, oscodename, osrelease, osarch, gitrelease):
nameisoclient ='-'.join ([versionboottools, oscodename, osrelease, osarch, gitrelease])
namehostclient = '-'.join ([versionboottools, oscodename, gitrelease])
return gitrelease, nameisoclient, namehostclient
return nameisoclient, namehostclient
def mkrootfs (btrootfsimg, btrootfsimglabel, btrootfsmnt, btvirtualdisksize, bttargetdir, osarch):
logger.info (f'Creación y formateo del disco virtual "{btrootfsimg}" "{btvirtualdisksize}" MB')

View File

@ -142,14 +142,17 @@ except: pass
logger.info ('OpenGnsys CLIENT installation begins')
logger.info ('STAGE 1 - clone opengnsys repo')
ogrepo_dir = '/tmp/ogrepo' ## per the Dockerfile
fd = open (f'{curdir}/gitrelease', 'r') ## per the Dockerfile
gitrelease = fd.readline().strip()
fd.close()
osdistrib, oscodename, osrelease, osarch, oshttp = btog.GetOsInfo1 (type_client)
if osdistrib is None:
logger.error ('GetOsInfo1() failed')
sys.exit (1)
btdir, bttargetdir, btrootfsimg, btrootfsmnt, btrootfsimglabel, log_file, versionboottools, btvirtualdisksize = btog.GetVar (osarch)
gitrelease, nameisoclient, namehostclient = btog.GetOsInfo2 (ogrepo_dir, versionboottools, oscodename, osrelease, osarch)
nameisoclient, namehostclient = btog.GetOsInfo2 (versionboottools, oscodename, osrelease, osarch, gitrelease)
logger.info (':'.join ([osdistrib, oscodename, osrelease, osarch, oshttp]))
logger.info ('STAGE 2 - install software in the VM')