refs #597 make image smaller by not keeping a copy of the opengnsys repo
parent
f002c5678a
commit
866cdb4d86
10
Dockerfile
10
Dockerfile
|
@ -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
|
||||
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Reference in New Issue