Compare commits

..

56 Commits

Author SHA1 Message Date
Natalia Serrano 1ef837e053 Merge pull request 'refs #1789 include build date in VERSION.txt' (#7) from improve-version into main
Reviewed-on: #7
2025-03-31 15:10:44 +02:00
Natalia Serrano 1ee49dfd2c refs #1789 include build date in VERSION.txt 2025-03-31 15:09:39 +02:00
Nicolas Arenas 36652da35b Fix url to repo 2025-03-24 12:22:05 +01:00
Natalia Serrano 64bbb1d198 Merge pull request 'pull-from-cloning-engine' (#6) from pull-from-cloning-engine into main
Reviewed-on: #6
2025-02-27 12:16:23 +01:00
Natalia Serrano 1ee274bd0b refs #1614 fix whitespace 2025-02-27 12:12:57 +01:00
Natalia Serrano 5dfeffb6d6 refs #1614 remove useless copy--engine files are already under shared/ 2025-02-27 12:12:37 +01:00
Luis Gerardo Romero Garcia 149d3ffc39 refs #1345 changes git link of python-libfdisk 2025-01-20 13:54:58 +01:00
Natalia Serrano f42cd45239 Merge pull request 'deps-vadim' (#5) from deps-vadim into main
Reviewed-on: #5
2024-11-29 11:02:22 +01:00
Natalia Serrano 6a34ca68b1 refs #809 bump release 2024-11-29 11:01:26 +01:00
Natalia Serrano 1785456f43 refs #809 insist on our resolv.conf 2024-11-28 13:26:59 +01:00
Natalia Serrano 68c5a27075 refs #809 use apt.update() rather than shelling out, add spartlnx-32bit 2024-11-28 11:04:00 +01:00
Nicolas Arenas c9fa4eff93 Update resolv.conf 2024-11-27 18:09:04 +01:00
Nicolas Arenas 386a2a6175 Add extra packages for oggit 2024-11-27 18:05:56 +01:00
Nicolas Arenas da32d165a6 Added missing package 2024-11-26 08:51:23 +01:00
Nicolas Arenas 4101da8082 increase virtualfile system size 2024-11-26 02:21:13 +01:00
Nicolas Arenas 219c5dc45b Fix typo in directory name 2024-11-26 01:19:55 +01:00
Nicolas Arenas c97e352f1d Put certificate in ssl 2024-11-26 01:09:47 +01:00
Nicolas Arenas 419f983e50 Add debug message 2024-11-26 01:06:08 +01:00
Nicolas Arenas 2e8981fd19 UPdate certificates before install packages 2024-11-26 01:00:27 +01:00
Nicolas Arenas d6a3c4205b Running update before install 2024-11-26 00:58:15 +01:00
Nicolas Arenas 3abcad9776 Add extra packages to oggit section 2024-11-26 00:16:40 +01:00
Nicolas Arenas e2910b33e2 Add function to execute update certificates 2024-11-26 00:14:05 +01:00
Nicolas Arenas 7b51a04358 UPdte image to accept certificate for UMA environment 2024-11-26 00:10:28 +01:00
Natalia Serrano c4d1e23114 Revert "refs #809 debug init scripts"
This reverts commit 6dddc6ba8b.
2024-11-20 13:51:36 +01:00
Natalia Serrano ed1f58a287 Revert "refs #809 fix redir, change prefix of messages"
This reverts commit a2e12e6b6e.
2024-11-20 13:51:28 +01:00
Natalia Serrano 723a79f68e refs #809 add binary of old browser again 2024-11-20 13:39:44 +01:00
Natalia Serrano a2e12e6b6e refs #809 fix redir, change prefix of messages 2024-11-15 16:47:31 +01:00
Natalia Serrano 6dddc6ba8b refs #809 debug init scripts 2024-11-15 16:05:29 +01:00
Natalia Serrano 0e5d83c501 refs #809 bump version 2024-10-25 12:13:15 +02:00
Natalia Serrano 865470e03c refs #809 force pip to install things 2024-10-24 23:01:47 +02:00
Natalia Serrano 7467f991a6 refs #809 clean packages up a bit later 2024-10-24 22:56:27 +02:00
Natalia Serrano fe5645c30a refs #809 install pip 2024-10-24 22:50:55 +02:00
Natalia Serrano 7123d35179 refs #809 collaborate with the jenkins job 2024-10-24 22:45:32 +02:00
Natalia Serrano 567c8dcfb5 refs #809 collaborate with the jenkins job 2024-10-24 22:40:23 +02:00
Natalia Serrano 6b66424631 refs #809 collaborate with the jenkins job 2024-10-24 22:28:19 +02:00
Natalia Serrano 02b44a1d95 refs #809 collaborate with the jenkins job 2024-10-24 22:16:44 +02:00
Natalia Serrano dffb315879 refs #809 try to invalidate docker cache at a specific point 2024-10-24 21:50:46 +02:00
Natalia Serrano 1f695da3e4 refs #809 try to invalidate docker cache at a specific point 2024-10-24 12:13:26 +02:00
Natalia Serrano c1a9ff29b7 refs #809 install packages and a pip module, try to invalidate docker cache at a specific point 2024-10-24 11:55:52 +02:00
Natalia Serrano fe39c2d99f refs #953 do this change in a higher-level place, and use an underscore 2024-10-23 17:51:22 +02:00
Natalia Serrano 652fd3beb0 Merge pull request 'build-browser' (#4) from build-browser into main
Reviewed-on: #4
2024-10-17 19:10:44 +02:00
Natalia Serrano 2f745e8b43 refs #971 do not install binary of the old browser 2024-10-17 19:10:13 +02:00
Natalia Serrano c160c5c1eb refs #971 do not install binary of the old browser 2024-10-17 19:09:17 +02:00
Natalia Serrano 13b086f328 refs #975 postprocess the generated initrd 2024-10-17 17:49:13 +02:00
Natalia Serrano 48528a4c2f refs #928 install ogagent and ogbrowser debian packages 2024-10-16 20:04:09 +02:00
Natalia Serrano d6eb76f36b refs #953 improve versioning of the final iso file 2024-10-16 09:02:00 +02:00
Natalia Serrano f9a275e380 Merge pull request 'Don't use python APT module, install ogagent dependencies' (#3) from no-apt-module into main
Reviewed-on: #3
2024-10-03 14:14:05 +02:00
Natalia Serrano 2e092b0372 Merge pull request 'Disable IPv6 in oglive' (#2) from oglive-ipv6 into main
Reviewed-on: #2
2024-09-25 11:08:01 +02:00
Natalia Serrano 16de310ac8 refs #776 install ogagent dependencies 2024-09-24 13:03:32 +02:00
Natalia Serrano bfbc10a65b refs #773 do not use python apt module 2024-09-24 13:03:12 +02:00
Natalia Serrano 985d83fe5e Revert "refs #773 do not use python apt module"
This reverts commit a12001f84a.
2024-09-24 13:02:05 +02:00
Natalia Serrano 16482c60fd Revert "refs #776 install ogagent dependencies"
This reverts commit 3833919272.
2024-09-24 13:01:59 +02:00
Natalia Serrano 3833919272 refs #776 install ogagent dependencies 2024-09-24 13:01:05 +02:00
Natalia Serrano a12001f84a refs #773 do not use python apt module 2024-09-24 13:00:47 +02:00
Natalia Serrano e60695f847 refs #773 write a sysctl.conf 2024-09-24 12:52:06 +02:00
Natalia Serrano 62ee6e6c8a Merge pull request 'Translate the ogLive builder to python' (#1) from pybuilder into main
Reviewed-on: #1
2024-09-04 15:21:36 +02:00
12 changed files with 137 additions and 65 deletions

View File

@ -10,3 +10,6 @@ ogclient/
ogclientImg2Sqfs
ogclientSqfs2Img
**/*.swp
## the following is used in the jenkins job
opengnsys-repo

12
CHANGELOG.md 100644
View File

@ -0,0 +1,12 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [3.2.1] - 2025-03-31
### Changed
- Include build date in the final VERSION.txt

View File

@ -1,7 +1,5 @@
FROM ubuntu:noble
ARG OPENGNSYS_BRANCH=main
RUN apt-get update && apt-get -y install \
debootstrap \
fdisk \
@ -27,14 +25,14 @@ 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 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/
ARG OPENGNSYS_HEAD
#RUN echo 0 ## 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
RUN ls -la /tmp/opengnsys/oglive_builder/ && \
mv /tmp/opengnsys/oglive_builder/engine /tmp/opengnsys/oglive_builder/shared /tmp/opengnsys/ && \
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
ENTRYPOINT ["/tmp/opengnsys/oglive_builder/mkoglive.py"]

View File

@ -41,15 +41,6 @@ Y también podemos indicar otro archivo de configuración usando --config.
Las imágenes se crean en ./ogclient. Es conveniente crear este directorio con antelación, antes de ejecutar docker, porque de este modo el directorio queda con permisos de usuario. De lo contrario, docker lo crearía como root y necesitaríamos sudo para hacer cualquier cosa dentro de él.
Puede que durante la ejecución del contenedor salga un error como este una o más veces:
Exception ignored in: <function _acquireLock at 0x7fdac10f1f80>
Traceback (most recent call last):
File "/usr/lib/python3.12/logging/__init__.py", line 241, in _acquireLock
_lock.acquire()
Es un bug conocido en la biblioteca "logging" de python, para el cual ya existe solución y solo es cuestión de tiempo que la versión de python incluida en ubuntu incluya el fix.
Descripción de la estrucutra de boot-tools
------------------------------------------

View File

@ -58,30 +58,8 @@ def cache_search (pkgs):
return res
def install (pkgs, opts={}):
apt_pkg.init()
if opts:
apt_pkg.init_config()
for k in opts:
apt_pkg.config.set (k, opts[k])
cache = apt_pkg.Cache()
sl = apt_pkg.SourceList()
sl.read_main_list()
cache.update (apt.progress.base.AcquireProgress(), sl)
_to_install = []
dep_cache = apt_pkg.DepCache(cache)
for p in pkgs:
package = cache[p]
if not package:
print (f'package "{p}" not found')
continue
_to_install.append (p)
dep_cache.mark_install(package)
if _to_install:
print ('about to install these packages: "{}"'.format (' '.join (_to_install)))
fetcher = apt_pkg.Acquire()
install_progress = apt.progress.base.InstallProgress()
dep_cache.commit(fetcher, install_progress)
opts_list = []
for k in opts: opts_list += ['-o', f'{k}={opts[k]}']
print ('about to install these packages: "{}"'.format (' '.join (pkgs)))
import subprocess
subprocess.run (['apt-get', '--yes', 'install'] + pkgs + opts_list)

View File

@ -18,7 +18,7 @@ def GetVar (osarch):
if 'i386' == osarch:
btvirtualdisksize = '2000' # tamaño maximo limitado por schroot 2GB para 32 bits
else:
btvirtualdisksize = '3G'
btvirtualdisksize = '5G'
return bttargetdir, btrootfsimg, btrootfsmnt, btvirtualdisksize
def GetOsInfo (type_client='host'):
@ -106,7 +106,7 @@ def GetOsInfo (type_client='host'):
osrelease='5.4.0-42-generic'
osarch='amd64'
oshttp='http://es.archive.ubuntu.com/ubuntu/'
elif 'noble' == type_client: # ogLive 1.2.0-rc1 basado en Ubuntu 24.04 y Kernel 6.8.
elif 'noble' == type_client: # ogLive 3.1.1 basado en Ubuntu 24.04 y Kernel 6.8.
osdistrib='ubuntu'
oscodename='noble'
osrelease='6.8.0-31-generic'
@ -205,7 +205,7 @@ def debootstrap (btrootfsimg, btrootfsmnt, osarch, oscodename, oshttp):
logger.info (f'debootstrap --arch="{osarch}" --components=main,universe "{oscodename}" "{btrootfsmnt}" "{oshttp}" : ok')
return 0
def copy_og_files (builder, og_shared, og_engine, ogclientmount, osdistrib, oscodename):
def copy_og_files (builder, og_shared, ogclientmount, osdistrib, oscodename):
logger.info ('Iniciando la personalización con datos del repositorio')
sources_list_in = f'{builder}/includes/etc/apt/sources.list.{osdistrib.lower()}'
@ -226,9 +226,8 @@ def copy_og_files (builder, og_shared, og_engine, ogclientmount, osdistrib, osco
os.makedirs (f'{ogclientmount}/usr/local/lib', exist_ok=True)
os.makedirs (f'{ogclientmount}/usr/local/plugins', exist_ok=True)
subprocess.run (f'rsync -aH {builder}/includes/* {ogclientmount}/' , shell=True)
subprocess.run (f'rsync -aH {og_shared}/* {ogclientmount}/opt/opengnsys/' , shell=True)
subprocess.run (f'rsync -aH {og_engine}/* {ogclientmount}/opt/opengnsys/lib/engine/bin/', shell=True)
subprocess.run (f'rsync -aH {builder}/includes/* {ogclientmount}/' , shell=True)
subprocess.run (f'rsync -aH {og_shared}/* {ogclientmount}/opt/opengnsys/', shell=True)
if not os.path.exists (f'{ogclientmount}/etc/pci.ids'):
shutil.copy (f'{og_shared}/lib/pci.ids', f'{ogclientmount}/etc/')
@ -239,9 +238,15 @@ def copy_og_files (builder, og_shared, og_engine, ogclientmount, osdistrib, osco
subprocess.run (f'rsync -aH {og_shared}/lib/fonts {ogclientmount}/usr/local/lib', shell=True)
subprocess.run (f'rsync -aH {og_shared}/lib/qtplugins/* {ogclientmount}/usr/local/plugins', shell=True)
# Browser y ogAdmClient.
if os.path.exists (f'{og_shared}/bin/browser'): shutil.copy (f'{og_shared}/bin/browser', f'{ogclientmount}/bin/')
if os.path.exists (f'{og_shared}/bin/ogAdmClient'): shutil.copy (f'{og_shared}/bin/ogAdmClient', f'{ogclientmount}/bin/')
# Browser
if os.path.exists (f'{og_shared}/bin/browser'): shutil.copy (f'{og_shared}/bin/browser', f'{ogclientmount}/bin/')
def sysctl (btrootfsmnt):
logger.debug ('copiando sysctl.conf')
with open (f'{btrootfsmnt}/etc/sysctl.conf', 'w') as fd:
fd.write ('net.ipv6.conf.all.disable_ipv6 = 1\n')
fd.write ('net.ipv6.conf.default.disable_ipv6 = 1\n')
fd.write ('net.ipv6.conf.lo.disable_ipv6 = 1\n')
def ssh_server (btrootfsmnt):
if not os.path.exists ('/root/.ssh/id_rsa'): ## creates a key pair in the VM (or docker container), not in the chroot

View File

@ -32,7 +32,7 @@ def boottoolsSoftwareInstall (osarch, osrelease):
pkgs32 = []
if 'i386' != osarch:
utils.run (['dpkg', '--add-architecture', 'i386'])
pkgs32 = 'lib32gcc-s1 lib32stdc++6 lib32z1 libc6-i386'.split (' ') ## nserrano: he cambiado lib32gcc1 por lib32gcc-s1 pero como queramos crear un oglive viejo, esto va a petar
pkgs32 = 'lib32gcc-s1 lib32stdc++6 lib32z1 libc6-i386'.split (' ')
_oghook_deactivate()
@ -40,10 +40,13 @@ def boottoolsSoftwareInstall (osarch, osrelease):
subprocess.run (['debconf-set-selections'], input=debconf_settings, text=True)
utils.run (['dpkg-reconfigure', '--frontend', 'noninteractive', 'console-setup', 'locales']) ## XXX: despues de esto, debconf-get-selections devuelve los valores antiguos, no se por que...
pkgs = []
pkgs = glob.glob ('/tmp/opengnsys/oglive_builder/ogagent_*.deb') + glob.glob ('/tmp/opengnsys/oglive_builder/OGBrowser*.deb')
for section in config.options('Packages'):
pkgs += re.split (r'[ \n]', config['Packages'].get(section).strip())
apt.update()
apt.upgrade()
pkgs = [f'linux-image-{osrelease}', f'linux-headers-{osrelease}', f'linux-modules-{osrelease}', f'linux-modules-extra-{osrelease}', 'dkms', 'shim-signed', 'openssl', 'sshfs', 'kexec-tools'] + pkgs32 + pkgs
print (f'boottoolsSoftwareInstall: installing packages: {str(pkgs)}', file=sys.stderr)
apt.install (pkgs, opts={'DPkg::Options::': '--force-confdef'}) ## --force-confdef is required to avoid an interactive question regarding /etc/ssh/ssh_config
@ -85,33 +88,63 @@ def boottoolsSoftwareCompile():
try: utils.run (['which', 'spartl64.run'])
except:
utils.run (['wget', '--quiet', 'http://damien.guibouret.free.fr/savepart.zip'])
utils.run (['unzip', '-o', 'savepart.zip', '-d', '/sbin/', 'spartl64.run'])
utils.run (['unzip', '-o', 'savepart.zip', '-d', '/sbin/', 'spartl64.run', 'spartlnx.run'])
utils.run (['mkdir', '/usr/share/doc/spartlnx'])
utils.run (['unzip', '-j', '-o', 'savepart.zip', '-d', '/usr/share/doc/spartlnx/', 'doc/en/*'])
if not os.path.exists ('python-libfdisk'):
print ('boottoolsSoftwareCompile: python-libfdisk', file=sys.stderr)
apt.install (['python3-psutil', 'python3-dev', 'libfdisk-dev', 'python3-setuptools'])
utils.run (['git', 'clone', 'git://git.48k.eu/python-libfdisk'])
utils.run (['git', 'clone', 'https://ognproject.evlt.uma.es/gitea/48k.eu-mirror/python-libfdisk.git'])
os.chdir ('python-libfdisk')
utils.run (['python3', 'setup.py', 'install'])
os.chdir ('..')
apt.remove (['python3-dev', 'python3-setuptools'])
os.environ['LANGUAGE'] = env_language
os.environ['LC_ALL'] = env_lc_all
os.environ['LANG'] = env_lang
def updateCaCertificates():
print ('Updating CA trust Store', file=sys.stderr)
utils.run (['update-ca-certificates'])
def boottoolsPythonModules():
utils.run (['pip3', 'install', 'pyblkid', '--break-system-packages'])
def boottoolsRemovePackages():
apt.remove (['python3-dev', 'python3-setuptools', 'python3-pip'])
def setup_resolvconf():
if os.path.islink('/etc/resolc.conf'):
os.unlink ('/etc/resolv.conf')
f = open ('/etc/resolv.conf', 'w')
f.write ('nameserver 8.8.8.8')
f.close()
def boottoolsInitrdGenerate (osrelease):
print ('boottoolsInitrdGenerate', file=sys.stderr)
for f in glob.glob ('/usr/lib/initramfs-tools/bin/*'):
os.unlink (f)
shutil.copy ('/bin/busybox', '/usr/lib/initramfs-tools/bin')
initrd_img = f'/tmp/initrd.img-{osrelease}'
os.chdir ('/tmp')
utils.run (['mkinitramfs', '-o', f'/tmp/initrd.img-{osrelease}', osrelease])
utils.run (['mkinitramfs', '-o', initrd_img, osrelease])
shutil.copy (f'/boot/vmlinuz-{osrelease}', '/tmp/')
## turn cpio-with-prepended-stuff into a regular cpio, see #975
utils.run (['unmkinitramfs', initrd_img, 'undone'])
os.mkdir ('undone/merged')
subprocess.run (['rsync -aH undone/early/* undone/main/* undone/merged/'], shell=True)
shutil.rmtree ('undone/early')
shutil.rmtree ('undone/main')
os.chdir ('undone/merged/')
subprocess.run ([f'find . |cpio -H newc -oa >{initrd_img}'], shell=True)
os.chdir ('/tmp')
shutil.rmtree ('undone')
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument ('--osarch', help='OS architecture', action='store', required=True)
@ -124,6 +157,11 @@ if __name__ == '__main__':
sys.exit (1)
debconf_settings = config['General'].get ('debconf_settings')
updateCaCertificates()
setup_resolvconf()
boottoolsSoftwareInstall (args.osarch, args.osrelease)
boottoolsSoftwareCompile()
boottoolsPythonModules()
boottoolsRemovePackages()
setup_resolvconf() ## do this again, since someone seems to be overwriting the file
boottoolsInitrdGenerate (args.osrelease)

View File

@ -58,3 +58,6 @@ deb http://free.nchc.org.tw/ubuntu OSCODENAME-security main restricted universe
#deb http://ppa.launchpad.net/zfs-native/stable/ubuntu OSCODENAME main
#deb-src http://ppa.launchpad.net/zfs-native/stable/ubuntu OSCODENAME main
deb [trusted=yes] https://ognproject.evlt.uma.es/debian-opengnsys/opengnsys OSCODENAME main

View File

@ -1 +1 @@
OpenGnsys Client 1.2.0-rc1
OpenGnsys Client 3.2.1

View File

@ -0,0 +1,39 @@
-----BEGIN CERTIFICATE-----
MIIG5TCCBM2gAwIBAgIRANpDvROb0li7TdYcrMTz2+AwDQYJKoZIhvcNAQEMBQAw
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIw
MDIxODAwMDAwMFoXDTMzMDUwMTIzNTk1OVowRDELMAkGA1UEBhMCTkwxGTAXBgNV
BAoTEEdFQU5UIFZlcmVuaWdpbmcxGjAYBgNVBAMTEUdFQU5UIE9WIFJTQSBDQSA0
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApYhi1aEiPsg9ZKRMAw9Q
r8Mthsr6R20VSfFeh7TgwtLQi6RSRLOh4or4EMG/1th8lijv7xnBMVZkTysFiPmT
PiLOfvz+QwO1NwjvgY+Jrs7fSoVA/TQkXzcxu4Tl3WHi+qJmKLJVu/JOuHud6mOp
LWkIbhODSzOxANJ24IGPx9h4OXDyy6/342eE6UPXCtJ8AzeumTG6Dfv5KVx24lCF
TGUzHUB+j+g0lSKg/Sf1OzgCajJV9enmZ/84ydh48wPp6vbWf1H0O3Rd3LhpMSVn
TqFTLKZSbQeLcx/l9DOKZfBCC9ghWxsgTqW9gQ7v3T3aIfSaVC9rnwVxO0VjmDdP
FNbdoxnh0zYwf45nV1QQgpRwZJ93yWedhp4ch1a6Ajwqs+wv4mZzmBSjovtV0mKw
d+CQbSToalEUP4QeJq4Udz5WNmNMI4OYP6cgrnlJ50aa0DZPlJqrKQPGL69KQQz1
2WgxvhCuVU70y6ZWAPopBa1ykbsttpLxADZre5cH573lIuLHdjx7NjpYIXRx2+QJ
URnX2qx37eZIxYXz8ggM+wXH6RDbU3V2o5DP67hXPHSAbA+p0orjAocpk2osxHKo
NSE3LCjNx8WVdxnXvuQ28tKdaK69knfm3bB7xpdfsNNTPH9ElcjscWZxpeZ5Iij8
lyrCG1z0vSWtSBsgSnUyG/sCAwEAAaOCAYswggGHMB8GA1UdIwQYMBaAFFN5v1qq
K0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBRvHTVJEGwy+lmgnryK6B+VvnF6DDAO
BgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggr
BgEFBQcDAQYIKwYBBQUHAwIwOAYDVR0gBDEwLzAtBgRVHSAAMCUwIwYIKwYBBQUH
AgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFAGA1UdHwRJMEcwRaBDoEGGP2h0
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9u
QXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6
Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAl
BggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0B
AQwFAAOCAgEAUtlC3e0xj/1BMfPhdQhUXeLjb0xp8UE28kzWE5xDzGKbfGgnrT2R
lw5gLIx+/cNVrad//+MrpTppMlxq59AsXYZW3xRasrvkjGfNR3vt/1RAl8iI31lG
hIg6dfIX5N4esLkrQeN8HiyHKH6khm4966IkVVtnxz5CgUPqEYn4eQ+4eeESrWBh
AqXaiv7HRvpsdwLYekAhnrlGpioZ/CJIT2PTTxf+GHM6cuUnNqdUzfvrQgA8kt1/
ASXx2od/M+c8nlJqrGz29lrJveJOSEMX0c/ts02WhsfMhkYa6XujUZLmvR1Eq08r
48/EZ4l+t5L4wt0DV8VaPbsEBF1EOFpz/YS2H6mSwcFaNJbnYqqJHIvm3PLJHkFm
EoLXRVrQXdCT+3wgBfgU6heCV5CYBz/YkrdWES7tiiT8sVUDqXmVlTsbiRNiyLs2
bmEWWFUl76jViIJog5fongEqN3jLIGTG/mXrJT1UyymIcobnIGrbwwRVz/mpFQo0
vBYIi1k2ThVh0Dx88BbF9YiP84dd8Fkn5wbE6FxXYJ287qfRTgmhePecPc73Yrzt
apdRcsKVGkOpaTIJP/l+lAHRLZxk/dUtyN95G++bOSQqnOCpVPabUGl2E/OEyFrp
Ipwgu2L/WJclvd6g+ZA/iWkLSMcpnFb+uX6QBqvD6+RNxul1FaB5iHY=
-----END CERTIFICATE-----

View File

@ -129,3 +129,6 @@ xwindows =
#xorg-dev xorg lxde #+300M
#roxterm gparted #+80M
#openbox midori #xvesa en compilacion
oggit = python3 python3-git python3-xattr python3-libarchive-c python3-pylibacl python3-pip opengnsys-libarchive-c python3-termcolor bsdextrautils opengnsys-pyblkid ntfs-3g-system-compression python3-tqdm

View File

@ -8,6 +8,7 @@ import glob
import stat
import shutil
import argparse
import datetime
curdir = os.path.dirname (__file__)
sys.path.insert (0, curdir)
@ -76,8 +77,7 @@ def _copy_og_files (btrootfsimg, btrootfsmnt, osdistrib, oscodename):
_mount_rootfs (btrootfsimg, btrootfsmnt)
builder = '/tmp/opengnsys/oglive_builder'
og_shared = '/tmp/opengnsys/shared'
og_engine = '/tmp/opengnsys/engine'
btog.copy_og_files (builder, og_shared, og_engine, btrootfsmnt, osdistrib, oscodename)
btog.copy_og_files (builder, og_shared, btrootfsmnt, osdistrib, oscodename)
utils.umount (btrootfsmnt)
def _chroot_tasks (cfgfile, curdir, osrelease, osarch):
@ -87,6 +87,7 @@ def _chroot_tasks (cfgfile, curdir, osrelease, osarch):
def _ssh_stuff (btrootfsimg, btrootfsmnt):
_mount_rootfs (btrootfsimg, btrootfsmnt)
btog.sysctl (btrootfsmnt)
btog.ssh_server (btrootfsmnt)
btog.ssh_client (btrootfsmnt)
utils.umount (btrootfsmnt)
@ -133,7 +134,8 @@ def _main (cfgfile, config, type_client):
_debootstrap (btrootfsimg, btrootfsmnt, osarch, oscodename, oshttp)
logger.info ('STAGE 2 - copy files to the rootfs')
_initramfs_version (gitrelease, osrelease, curdir)
today = datetime.datetime.now(datetime.timezone.utc).strftime ('%Y%m%d')
_initramfs_version (gitrelease+'_'+today, osrelease, curdir)
_copy_og_files (btrootfsimg, btrootfsmnt, osdistrib, oscodename)
logger.info ('STAGE 3 - perform tasks within the chroot')
@ -143,7 +145,7 @@ def _main (cfgfile, config, type_client):
logger.info ('STAGE 4 - generate distribution files')
pxepkg = _get_pxepkg()
nameisoclient = '-'.join (['ogLive', oscodename, osrelease, osarch, gitrelease])
nameisoclient = '-'.join (['ogLive', oscodename, osrelease, osarch, gitrelease+'_'+today])
_mkinitrd_squashfs_isofs (bttargetdir, osrelease, btrootfsimg, btrootfsmnt, pxepkg, isolinux_tpl, nameisoclient)
logger.info ('OpenGnsys installation finished')