Compare commits
64 Commits
deps-vadim
...
main
Author | SHA1 | Date |
---|---|---|
|
938bac2e04 | |
|
18f62dcda4 | |
|
3774addf7d | |
|
dd2c649755 | |
|
738ebe4252 | |
|
312c0d634b | |
|
bbfce055df | |
|
c3c549fb3f | |
|
5a6ac2ff7c | |
|
995f26c33d | |
|
370e831c18 | |
|
bf756f2193 | |
|
cea5fd1306 | |
|
02b14b8b93 | |
|
4eb0c9bd9c | |
|
3f31e288ef | |
|
99cff41d2b | |
|
0ef9593384 | |
|
14e47e0eb6 | |
|
5bf6620916 | |
|
275e64c03c | |
|
9ba01a6d30 | |
|
aeb1f7830b | |
|
94a89881c6 | |
|
5a52e3ecae | |
|
19c63800de | |
|
d44d848327 | |
|
eb2d836c51 | |
|
9779d9cc8d | |
|
5c51336402 | |
|
1fbc28622c | |
|
c9152b5e2d | |
|
2d6db5e475 | |
|
809af2cbc2 | |
|
a627be89ba | |
|
a481cccaef | |
|
782a85d515 | |
|
895131bb05 | |
|
f9bb2f3868 | |
|
0b2bb98172 | |
|
6d74a02d25 | |
|
1029ad0fe6 | |
|
2c97f72485 | |
|
0cc540c0cd | |
|
4d60aaa1d4 | |
|
76950c8c11 | |
|
e103f9bf6a | |
|
42aceb750f | |
|
ffa0803aab | |
|
958143f24f | |
|
919b4c58c0 | |
|
7fdbcdea98 | |
|
5452786078 | |
|
434cfb865e | |
|
0ca148775e | |
|
ed782169c2 | |
|
1ef837e053 | |
|
1ee49dfd2c | |
|
36652da35b | |
|
64bbb1d198 | |
|
1ee274bd0b | |
|
5dfeffb6d6 | |
|
149d3ffc39 | |
|
f42cd45239 |
|
@ -0,0 +1,82 @@
|
||||||
|
# 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.10.1] - 2025-07-03
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Undo the pcp/dstat change--does nothing
|
||||||
|
|
||||||
|
## [3.10.0] - 2025-07-03
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Explicitly remove pcp and install dstat
|
||||||
|
|
||||||
|
## [3.9.2] - 2025-06-26
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Include dbus env var in .xinitrc
|
||||||
|
|
||||||
|
## [3.9.1] - 2025-06-18
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Increase "open files" ulimit for the qt6 browser
|
||||||
|
|
||||||
|
## [3.9.0] - 2025-06-16
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Take ogrepository SSH key from its git repo
|
||||||
|
|
||||||
|
## [3.8.0] - 2025-06-16
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Installation of package opengnsys-gitlib
|
||||||
|
|
||||||
|
## [3.7.0] - 2025-05-28
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Leave resolv.conf as a symlink to /run/resolvconf/resolv.conf
|
||||||
|
|
||||||
|
## [3.6.0] - 2025-05-21
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Configure stunnel and dbus via includes rather than in python code
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Add script for changing the URL in the running browser
|
||||||
|
|
||||||
|
## [3.5.0] - 2025-05-19
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Configure dbus
|
||||||
|
|
||||||
|
## [3.4.0] - 2025-05-18
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Install and configure stunnel in the image
|
||||||
|
|
||||||
|
## [3.3.0] - 2025-05-14
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Add changes required for the new browser
|
||||||
|
|
||||||
|
## [3.2.1] - 2025-03-31
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Include build date in the final VERSION.txt
|
|
@ -30,7 +30,7 @@ ARG OPENGNSYS_HEAD
|
||||||
COPY . /tmp/opengnsys/oglive_builder/
|
COPY . /tmp/opengnsys/oglive_builder/
|
||||||
|
|
||||||
RUN ls -la /tmp/opengnsys/oglive_builder/ && \
|
RUN ls -la /tmp/opengnsys/oglive_builder/ && \
|
||||||
mv /tmp/opengnsys/oglive_builder/engine /tmp/opengnsys/oglive_builder/shared /tmp/opengnsys/ && \
|
mv /tmp/opengnsys/oglive_builder/engine /tmp/opengnsys/oglive_builder/shared /tmp/opengnsys/oglive_builder/ogrepo-ssh-key /tmp/opengnsys/ && \
|
||||||
cp /tmp/opengnsys/oglive_builder/schroot.conf /tmp/opengnsys/oglive_builder/mount-defaults /etc/schroot/ && \
|
cp /tmp/opengnsys/oglive_builder/schroot.conf /tmp/opengnsys/oglive_builder/mount-defaults /etc/schroot/ && \
|
||||||
echo '' >/etc/schroot/default/nssdatabases && \
|
echo '' >/etc/schroot/default/nssdatabases && \
|
||||||
rm -f /etc/schroot/setup.d/*chrootname
|
rm -f /etc/schroot/setup.d/*chrootname
|
||||||
|
|
|
@ -205,7 +205,7 @@ def debootstrap (btrootfsimg, btrootfsmnt, osarch, oscodename, oshttp):
|
||||||
logger.info (f'debootstrap --arch="{osarch}" --components=main,universe "{oscodename}" "{btrootfsmnt}" "{oshttp}" : ok')
|
logger.info (f'debootstrap --arch="{osarch}" --components=main,universe "{oscodename}" "{btrootfsmnt}" "{oshttp}" : ok')
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def copy_og_files (builder, og_shared, og_engine, ogclientmount, osdistrib, oscodename):
|
def copy_og_files (builder, og_shared, ogrepo_ssh_key, ogclientmount, osdistrib, oscodename):
|
||||||
logger.info ('Iniciando la personalización con datos del repositorio')
|
logger.info ('Iniciando la personalización con datos del repositorio')
|
||||||
|
|
||||||
sources_list_in = f'{builder}/includes/etc/apt/sources.list.{osdistrib.lower()}'
|
sources_list_in = f'{builder}/includes/etc/apt/sources.list.{osdistrib.lower()}'
|
||||||
|
@ -226,9 +226,14 @@ 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/lib', exist_ok=True)
|
||||||
os.makedirs (f'{ogclientmount}/usr/local/plugins', exist_ok=True)
|
os.makedirs (f'{ogclientmount}/usr/local/plugins', exist_ok=True)
|
||||||
|
|
||||||
subprocess.run (f'rsync -aH {builder}/includes/* {ogclientmount}/' , shell=True)
|
os.makedirs (f'{ogclientmount}/root/.ssh', exist_ok=True)
|
||||||
subprocess.run (f'rsync -aH {og_shared}/* {ogclientmount}/opt/opengnsys/' , shell=True)
|
shutil.copy (f'{ogrepo_ssh_key}/opengnsys', f'{ogclientmount}/root/.ssh/id_ed25519')
|
||||||
subprocess.run (f'rsync -aH {og_engine}/* {ogclientmount}/opt/opengnsys/lib/engine/bin/', shell=True)
|
shutil.copy (f'{ogrepo_ssh_key}/opengnsys.pub', f'{ogclientmount}/root/.ssh/id_ed25519.pub')
|
||||||
|
os.chmod (f'{ogclientmount}/root/.ssh/id_ed25519', 0o0600)
|
||||||
|
os.chmod (f'{ogclientmount}/root/.ssh/id_ed25519.pub', 0o0600)
|
||||||
|
|
||||||
|
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'):
|
if not os.path.exists (f'{ogclientmount}/etc/pci.ids'):
|
||||||
shutil.copy (f'{og_shared}/lib/pci.ids', f'{ogclientmount}/etc/')
|
shutil.copy (f'{og_shared}/lib/pci.ids', f'{ogclientmount}/etc/')
|
||||||
|
@ -240,7 +245,7 @@ def copy_og_files (builder, og_shared, og_engine, ogclientmount, osdistrib, osco
|
||||||
subprocess.run (f'rsync -aH {og_shared}/lib/qtplugins/* {ogclientmount}/usr/local/plugins', shell=True)
|
subprocess.run (f'rsync -aH {og_shared}/lib/qtplugins/* {ogclientmount}/usr/local/plugins', shell=True)
|
||||||
|
|
||||||
# Browser
|
# Browser
|
||||||
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/browser'): shutil.copy (f'{og_shared}/bin/browser', f'{ogclientmount}/bin/')
|
||||||
|
|
||||||
def sysctl (btrootfsmnt):
|
def sysctl (btrootfsmnt):
|
||||||
logger.debug ('copiando sysctl.conf')
|
logger.debug ('copiando sysctl.conf')
|
||||||
|
|
|
@ -87,7 +87,7 @@ def boottoolsSoftwareCompile():
|
||||||
print ('boottoolsSoftwareCompile: spartlnx', file=sys.stderr)
|
print ('boottoolsSoftwareCompile: spartlnx', file=sys.stderr)
|
||||||
try: utils.run (['which', 'spartl64.run'])
|
try: utils.run (['which', 'spartl64.run'])
|
||||||
except:
|
except:
|
||||||
utils.run (['wget', '--quiet', 'http://damien.guibouret.free.fr/savepart.zip'])
|
utils.run (['wget', '--tries=5', 'http://damien.guibouret.free.fr/savepart.zip'])
|
||||||
utils.run (['unzip', '-o', 'savepart.zip', '-d', '/sbin/', 'spartl64.run', 'spartlnx.run'])
|
utils.run (['unzip', '-o', 'savepart.zip', '-d', '/sbin/', 'spartl64.run', 'spartlnx.run'])
|
||||||
utils.run (['mkdir', '/usr/share/doc/spartlnx'])
|
utils.run (['mkdir', '/usr/share/doc/spartlnx'])
|
||||||
utils.run (['unzip', '-j', '-o', 'savepart.zip', '-d', '/usr/share/doc/spartlnx/', 'doc/en/*'])
|
utils.run (['unzip', '-j', '-o', 'savepart.zip', '-d', '/usr/share/doc/spartlnx/', 'doc/en/*'])
|
||||||
|
@ -95,7 +95,7 @@ def boottoolsSoftwareCompile():
|
||||||
if not os.path.exists ('python-libfdisk'):
|
if not os.path.exists ('python-libfdisk'):
|
||||||
print ('boottoolsSoftwareCompile: python-libfdisk', file=sys.stderr)
|
print ('boottoolsSoftwareCompile: python-libfdisk', file=sys.stderr)
|
||||||
apt.install (['python3-psutil', 'python3-dev', 'libfdisk-dev', 'python3-setuptools'])
|
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')
|
os.chdir ('python-libfdisk')
|
||||||
utils.run (['python3', 'setup.py', 'install'])
|
utils.run (['python3', 'setup.py', 'install'])
|
||||||
os.chdir ('..')
|
os.chdir ('..')
|
||||||
|
@ -112,15 +112,23 @@ def boottoolsPythonModules():
|
||||||
utils.run (['pip3', 'install', 'pyblkid', '--break-system-packages'])
|
utils.run (['pip3', 'install', 'pyblkid', '--break-system-packages'])
|
||||||
|
|
||||||
def boottoolsRemovePackages():
|
def boottoolsRemovePackages():
|
||||||
|
print ('boottoolsRemovePackages', file=sys.stderr)
|
||||||
apt.remove (['python3-dev', 'python3-setuptools', 'python3-pip'])
|
apt.remove (['python3-dev', 'python3-setuptools', 'python3-pip'])
|
||||||
|
|
||||||
def setup_resolvconf():
|
## have working DNS during the build
|
||||||
if os.path.islink('/etc/resolc.conf'):
|
def setup_resolvconf1():
|
||||||
os.unlink ('/etc/resolv.conf')
|
print ('setup_resolvconf1', file=sys.stderr)
|
||||||
|
os.unlink ('/etc/resolv.conf')
|
||||||
f = open ('/etc/resolv.conf', 'w')
|
f = open ('/etc/resolv.conf', 'w')
|
||||||
f.write ('nameserver 8.8.8.8')
|
f.write ('nameserver 8.8.8.8')
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
## leave the final configuration for oglive
|
||||||
|
def setup_resolvconf2():
|
||||||
|
print ('setup_resolvconf2', file=sys.stderr)
|
||||||
|
os.unlink ('/etc/resolv.conf')
|
||||||
|
os.symlink ('/run/resolvconf/resolv.conf', '/etc/resolv.conf')
|
||||||
|
|
||||||
def boottoolsInitrdGenerate (osrelease):
|
def boottoolsInitrdGenerate (osrelease):
|
||||||
print ('boottoolsInitrdGenerate', file=sys.stderr)
|
print ('boottoolsInitrdGenerate', file=sys.stderr)
|
||||||
for f in glob.glob ('/usr/lib/initramfs-tools/bin/*'):
|
for f in glob.glob ('/usr/lib/initramfs-tools/bin/*'):
|
||||||
|
@ -158,10 +166,10 @@ if __name__ == '__main__':
|
||||||
debconf_settings = config['General'].get ('debconf_settings')
|
debconf_settings = config['General'].get ('debconf_settings')
|
||||||
|
|
||||||
updateCaCertificates()
|
updateCaCertificates()
|
||||||
setup_resolvconf()
|
setup_resolvconf1()
|
||||||
boottoolsSoftwareInstall (args.osarch, args.osrelease)
|
boottoolsSoftwareInstall (args.osarch, args.osrelease)
|
||||||
boottoolsSoftwareCompile()
|
boottoolsSoftwareCompile()
|
||||||
boottoolsPythonModules()
|
boottoolsPythonModules()
|
||||||
boottoolsRemovePackages()
|
boottoolsRemovePackages()
|
||||||
setup_resolvconf() ## do this again, since someone seems to be overwriting the file
|
setup_resolvconf2()
|
||||||
boottoolsInitrdGenerate (args.osrelease)
|
boottoolsInitrdGenerate (args.osrelease)
|
||||||
|
|
|
@ -59,5 +59,5 @@ deb http://free.nchc.org.tw/ubuntu OSCODENAME-security main restricted universe
|
||||||
#deb-src 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/ OSCODENAME main
|
deb [trusted=yes] https://ognproject.evlt.uma.es/debian-opengnsys/opengnsys OSCODENAME main
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
<busconfig>
|
||||||
|
<policy user="root">
|
||||||
|
<allow own="es.opengnsys.OGBrowser.browser"/>
|
||||||
|
<allow send_destination="es.opengnsys.OGBrowser.browser"/>
|
||||||
|
<allow send_interface="es.opengnsys.OGBrowser.browser"/>
|
||||||
|
<allow send_type="method_call"/>
|
||||||
|
</policy>
|
||||||
|
</busconfig>
|
|
@ -1,4 +1,6 @@
|
||||||
LC_TYPE=es_ES@euro
|
LC_TYPE=es_ES.UTF-8@euro
|
||||||
LC_ALL=es_ES@euro
|
LC_ALL=es_ES.UTF-8@euro
|
||||||
LANG=es_ES@euro
|
LANG=es_ES.UTF-8@euro
|
||||||
LANGUAGE=es_ES@euro
|
LANGUAGE=es_ES.UTF-8@euro
|
||||||
|
XDG_RUNTIME_DIR=/run/user/0
|
||||||
|
QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox
|
||||||
|
|
|
@ -38,6 +38,9 @@ mkdir -p ${DESTDIR}/var/log
|
||||||
mkdir -p ${DESTDIR}/opt/opengnsys;
|
mkdir -p ${DESTDIR}/opt/opengnsys;
|
||||||
mkdir -p ${DESTDIR}/ogboot;
|
mkdir -p ${DESTDIR}/ogboot;
|
||||||
mkdir -p ${DESTDIR}/boot;
|
mkdir -p ${DESTDIR}/boot;
|
||||||
|
mkdir -p ${DESTDIR}/run/user/0
|
||||||
|
chmod 700 ${DESTDIR}/run/user/0
|
||||||
|
|
||||||
|
|
||||||
# Insert basic binaries
|
# Insert basic binaries
|
||||||
copy_exec /bin/bash-static /bin/bash
|
copy_exec /bin/bash-static /bin/bash
|
||||||
|
|
|
@ -15,6 +15,9 @@
|
||||||
#fbcon
|
#fbcon
|
||||||
|
|
||||||
# Kernel 3.7+ video.
|
# Kernel 3.7+ video.
|
||||||
|
virtio_gpu
|
||||||
|
vmwgfx
|
||||||
|
|
||||||
uvesafb
|
uvesafb
|
||||||
|
|
||||||
# Generales
|
# Generales
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
OpenGnsys Client 3.2.0
|
OpenGnsys Client 3.10.1
|
||||||
|
|
|
@ -310,8 +310,20 @@ ogPostConfigureFS()
|
||||||
|
|
||||||
#Montamos un directorio temporal para permitir instalacion de softare desde el comando apt-get (parametor kernel "ogtmpfs=50" valor en megas
|
#Montamos un directorio temporal para permitir instalacion de softare desde el comando apt-get (parametor kernel "ogtmpfs=50" valor en megas
|
||||||
ogtmpfs="${ogtmpfs:-15}"
|
ogtmpfs="${ogtmpfs:-15}"
|
||||||
mount tmpfs /var/cache/apt/archives -t tmpfs -o size=${ogtmpfs}M
|
#mount tmpfs /var/cache/apt/archives -t tmpfs -o size=${ogtmpfs}M
|
||||||
mkdir -p /var/cache/apt/archives/partial
|
mkdir -p /var/cache/apt/archives/partial
|
||||||
|
|
||||||
|
mkdir -p /run/user/0
|
||||||
|
chmod 700 /run/user/0
|
||||||
|
|
||||||
|
# esto completa la inicializacion de udev y permite el inicio del escritorio grafico
|
||||||
|
/bin/udevadm trigger
|
||||||
|
|
||||||
|
# Memoria compartida -- necesario para browser
|
||||||
|
mkdir -p /dev/shm
|
||||||
|
mount tmpfs -t tmpfs /dev/shm
|
||||||
|
chmod 1777 /dev/shm
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -579,6 +591,7 @@ ogUnionLiveDir()
|
||||||
U1STDIR="${OGLIVERAMFS}${TMPDIR}=RW"
|
U1STDIR="${OGLIVERAMFS}${TMPDIR}=RW"
|
||||||
U2NDDIR="${OGLIVEROOTFS}${TMPDIR}=RO"
|
U2NDDIR="${OGLIVEROOTFS}${TMPDIR}=RO"
|
||||||
UNIONDIR=${OGLIVEUNIONFS}${TMPDIR}
|
UNIONDIR=${OGLIVEUNIONFS}${TMPDIR}
|
||||||
|
ulimit -n 4096
|
||||||
mkdir -p $UNIONDIR $TMPDIR
|
mkdir -p $UNIONDIR $TMPDIR
|
||||||
$UBIN $FUSE_OPT $UNION_OPT ${U1STDIR}:${U2NDDIR} $UNIONDIR
|
$UBIN $FUSE_OPT $UNION_OPT ${U1STDIR}:${U2NDDIR} $UNIONDIR
|
||||||
mount --bind $UNIONDIR $TMPDIR
|
mount --bind $UNIONDIR $TMPDIR
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
setuid = stunnel4
|
||||||
|
setgid = stunnel4
|
||||||
|
pid = /var/run/stunnel4/menu.pid
|
||||||
|
foreground = yes
|
||||||
|
debug = info
|
||||||
|
|
||||||
|
[menu]
|
||||||
|
client = yes
|
||||||
|
accept = 127.0.0.1:81
|
||||||
|
connect = __OGCORE_IP__:__OGCORE_PORT__
|
||||||
|
cert = /opt/opengnsys/etc/ogagent.crt
|
||||||
|
key = /opt/opengnsys/etc/ogagent.key
|
||||||
|
CAfile = /opt/opengnsys/etc/ca.crt
|
||||||
|
requireCert = yes
|
||||||
|
verifyChain = yes
|
|
@ -0,0 +1,99 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Compatibilidad con los argumentos usados con el browser original: browser -qws http://google.com
|
||||||
|
while getopts ":qwsDWX" opt ; do
|
||||||
|
case $opt in
|
||||||
|
q) echo "Ignoring option: -q" ;;
|
||||||
|
w) echo "Ignoring option: -w" ;;
|
||||||
|
s) echo "Ignoring option: -s" ;;
|
||||||
|
D) BROWSER_DEBUG=1 ;;
|
||||||
|
W) DISABLE_WAYLAND=1 ;;
|
||||||
|
X) DISABLE_X11=1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
shift $(expr $OPTIND - 1)
|
||||||
|
|
||||||
|
browser_args="$@"
|
||||||
|
|
||||||
|
echo "Browser args: $browser_args"
|
||||||
|
|
||||||
|
[ -n "$DISABLE_WAYLAND" ] && echo "WAYLAND DISABLED"
|
||||||
|
[ -n "$DISABLE_X11" ] && echo "X11 DISABLED"
|
||||||
|
|
||||||
|
if [ -n "BROWSER_DEBUG" ] ; then
|
||||||
|
echo "DEBUG MODE ENABLED"
|
||||||
|
echo "* Terminal available via Win+Enter"
|
||||||
|
echo "* Session may be killed with Ctrl+Alt+Backspace"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -x "/usr/bin/kitty" ] && wl_terminal=/usr/bin/kitty
|
||||||
|
[ -x "/usr/bin/foot" ] && wl_terminal=/usr/bin/foot
|
||||||
|
#[ -x "/usr/bin/xterm" ] && x11_terminal=/usr/bin/kitty
|
||||||
|
#[ -x "/usr/bin/i3-sensible-terminal" ] && x11_terminal=/usr/bin/i3-sensible-terminal
|
||||||
|
|
||||||
|
# The admin page is hosted remotely but executes things on localhost
|
||||||
|
QTWEBENGINE_CHROMIUM_FLAGS="--disable-web-security"
|
||||||
|
|
||||||
|
[ "$UID" -eq "0" ] && QTWEBENGINE_CHROMIUM_FLAGS="${QTWEBENGINE_CHROMIUM_FLAGS} --no-sandbox"
|
||||||
|
export QTWEBENGINE_CHROMIUM_FLAGS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## sway
|
||||||
|
mkdir -p $HOME/.config/sway
|
||||||
|
echo "exec /usr/bin/OGBrowser --ignore-ssl-errors \"$browser_args\"" > $HOME/.config/sway/config
|
||||||
|
if [ -n "BROWSER_DEBUG" ] ; then
|
||||||
|
echo "bindsym Mod4+Return exec $wl_terminal" >> $HOME/.config/sway/config
|
||||||
|
echo "bindsym Control+Alt+Backspace exit" >> $HOME/.config/sway/config
|
||||||
|
fi
|
||||||
|
echo "exec touch /run/sway.started" >> $HOME/.config/sway/config
|
||||||
|
|
||||||
|
## i3
|
||||||
|
mkdir -p $HOME/.config/i3
|
||||||
|
echo "exec /usr/bin/OGBrowser --ignore-ssl-errors \"$browser_args\"" > $HOME/.config/i3/config
|
||||||
|
if [ -n "BROWSER_DEBUG" ] ; then
|
||||||
|
echo "bindsym Mod4+Return exec i3-sensible-terminal" >> $HOME/.config/i3/config
|
||||||
|
echo "bindsym Control+Mod1+BackSpace exit" >> $HOME/.config/i3/config
|
||||||
|
fi
|
||||||
|
echo "exec touch /run/x11.started" >> $HOME/.config/i3/config
|
||||||
|
|
||||||
|
## xinitrc
|
||||||
|
if [[ -z $DBUS_SESSION_BUS_ADDRESS ]]; then eval $(cat /proc/$(pidof OGAgent)/environ |sed -e 's/\x00/\x0a/g' |grep DBUS_SESSION_BUS_ADDRESS); fi
|
||||||
|
echo "export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS" > $HOME/.xinitrc
|
||||||
|
echo "exec /usr/bin/i3" >> $HOME/.xinitrc
|
||||||
|
echo "exec /usr/bin/xterm" >> $HOME/.xinitrc
|
||||||
|
|
||||||
|
|
||||||
|
# Make sure libinput works
|
||||||
|
/usr/bin/udevadm trigger
|
||||||
|
|
||||||
|
|
||||||
|
## go
|
||||||
|
rm -rf "/run/sway.started" "/run/x11.started"
|
||||||
|
|
||||||
|
if [ -x "/usr/bin/sway" -a -z "$DISABLE_WAYLAND" ] ; then
|
||||||
|
echo "*** Trying to launch Sway ***"
|
||||||
|
/usr/bin/sway
|
||||||
|
else
|
||||||
|
echo Sway not installed in this image, skipping.
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "/run/sway.started" -a -z "$DISABLE_X11" ] ; then
|
||||||
|
if [ -x "/usr/bin/startx" ] ; then
|
||||||
|
echo "*** Trying to launch X11 ***"
|
||||||
|
/usr/bin/startx
|
||||||
|
else
|
||||||
|
echo X11 not installed in this image, skipping.
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Sway was run before, not starting X11".
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "/run/sway.started" -a ! -f "/run/x11.started" ] ; then
|
||||||
|
echo "Everything failed, dropping into a shell."
|
||||||
|
exec /usr/bin/bash
|
||||||
|
else
|
||||||
|
echo "All done."
|
||||||
|
fi
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import dbus
|
||||||
|
|
||||||
|
if 2 != len(sys.argv):
|
||||||
|
sys.exit (1)
|
||||||
|
|
||||||
|
dest = 'es.opengnsys.OGBrowser.browser'
|
||||||
|
path = '/'
|
||||||
|
interface = None
|
||||||
|
method = 'setURL'
|
||||||
|
signature = 's'
|
||||||
|
url = sys.argv[1]
|
||||||
|
|
||||||
|
b = dbus.SystemBus()
|
||||||
|
try:
|
||||||
|
b.call_blocking (dest, path, interface, method, 's', [url])
|
||||||
|
except Exception as e:
|
||||||
|
sys.exit (1)
|
12
mkoglive.cfg
12
mkoglive.cfg
|
@ -92,7 +92,7 @@ filesystem_local =
|
||||||
dmraid dmsetup lvm2 e2fsprogs
|
dmraid dmsetup lvm2 e2fsprogs
|
||||||
jfsutils reiserfsprogs reiser4progs xfsprogs mhddfs hfsplus hfsprogs hfsutils nilfs-tools vmfs-tools
|
jfsutils reiserfsprogs reiser4progs xfsprogs mhddfs hfsplus hfsprogs hfsutils nilfs-tools vmfs-tools
|
||||||
btrfs-progs # ogLive a partir de Ubuntu 20.04
|
btrfs-progs # ogLive a partir de Ubuntu 20.04
|
||||||
zfsutils-linux # ogLive a partir de Ubuntu 16.04
|
#zfsutils-linux # ogLive a partir de Ubuntu 16.04 -- desactivado temporalmente
|
||||||
android-tools-adb # ogLive a partir de Ubuntu 16.04
|
android-tools-adb # ogLive a partir de Ubuntu 16.04
|
||||||
android-tools-fastboot # ogLive a partir de Ubuntu 16.04
|
android-tools-fastboot # ogLive a partir de Ubuntu 16.04
|
||||||
f2fs-tools
|
f2fs-tools
|
||||||
|
@ -108,11 +108,11 @@ filesystem_remote =
|
||||||
#nfs-common # Provoca error de instalación en Ubuntu 15.04
|
#nfs-common # Provoca error de instalación en Ubuntu 15.04
|
||||||
#bittornado # ogLive anterior a Ubuntu 20.04
|
#bittornado # ogLive anterior a Ubuntu 20.04
|
||||||
|
|
||||||
monitoring = htop ncdu bwbar bmon iftop ifstat dstat hdparm sdparm blktool testdisk
|
monitoring = htop ncdu bwbar bmon iftop ifstat dstat hdparm sdparm blktool testdisk kitty-terminfo
|
||||||
|
|
||||||
networking = netpipes curl wget tftp-hpa dnsutils
|
networking = netpipes curl wget tftp-hpa dnsutils
|
||||||
#trickle # ubuntu noble: has no installation candidate
|
#trickle # ubuntu noble: has no installation candidate
|
||||||
lighttpd ethtool ssmping tcpdump nmap arping ntpdate ctorrent udpcast #iptraf
|
lighttpd ethtool ssmping tcpdump nmap arping ntpdate udpcast aria2 mktorrent #iptraf
|
||||||
|
|
||||||
testing =
|
testing =
|
||||||
screen schroot xmlstarlet
|
screen schroot xmlstarlet
|
||||||
|
@ -126,9 +126,13 @@ testing =
|
||||||
|
|
||||||
xwindows =
|
xwindows =
|
||||||
v86d # VESA Kernel 3.7+
|
v86d # VESA Kernel 3.7+
|
||||||
|
icewm xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-video-all xinit i3
|
||||||
#xorg-dev xorg lxde #+300M
|
#xorg-dev xorg lxde #+300M
|
||||||
#roxterm gparted #+80M
|
#roxterm gparted #+80M
|
||||||
#openbox midori #xvesa en compilacion
|
#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
|
ogagent = stunnel4
|
||||||
|
|
||||||
|
ogbrowser = sway libinput-tools hwdata ogbrowser
|
||||||
|
|
||||||
|
oggit = python3 python3-git python3-pyxattr python3-libarchive-c python3-pylibacl python3-pip python3-hivex opengnsys-libarchive-c python3-termcolor bsdextrautils opengnsys-pyblkid opengnsys-gitlib ntfs-3g-system-compression python3-tqdm
|
||||||
|
|
12
mkoglive.py
12
mkoglive.py
|
@ -75,10 +75,10 @@ def _initramfs_version (gitrelease, osrelease, curdir):
|
||||||
|
|
||||||
def _copy_og_files (btrootfsimg, btrootfsmnt, osdistrib, oscodename):
|
def _copy_og_files (btrootfsimg, btrootfsmnt, osdistrib, oscodename):
|
||||||
_mount_rootfs (btrootfsimg, btrootfsmnt)
|
_mount_rootfs (btrootfsimg, btrootfsmnt)
|
||||||
builder = '/tmp/opengnsys/oglive_builder'
|
builder = '/tmp/opengnsys/oglive_builder'
|
||||||
og_shared = '/tmp/opengnsys/shared'
|
og_shared = '/tmp/opengnsys/shared'
|
||||||
og_engine = '/tmp/opengnsys/engine'
|
ogrepo_ssh_key = '/tmp/opengnsys/ogrepo-ssh-key'
|
||||||
btog.copy_og_files (builder, og_shared, og_engine, btrootfsmnt, osdistrib, oscodename)
|
btog.copy_og_files (builder, og_shared, ogrepo_ssh_key, btrootfsmnt, osdistrib, oscodename)
|
||||||
utils.umount (btrootfsmnt)
|
utils.umount (btrootfsmnt)
|
||||||
|
|
||||||
def _chroot_tasks (cfgfile, curdir, osrelease, osarch):
|
def _chroot_tasks (cfgfile, curdir, osrelease, osarch):
|
||||||
|
@ -135,7 +135,8 @@ def _main (cfgfile, config, type_client):
|
||||||
_debootstrap (btrootfsimg, btrootfsmnt, osarch, oscodename, oshttp)
|
_debootstrap (btrootfsimg, btrootfsmnt, osarch, oscodename, oshttp)
|
||||||
|
|
||||||
logger.info ('STAGE 2 - copy files to the rootfs')
|
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)
|
_copy_og_files (btrootfsimg, btrootfsmnt, osdistrib, oscodename)
|
||||||
|
|
||||||
logger.info ('STAGE 3 - perform tasks within the chroot')
|
logger.info ('STAGE 3 - perform tasks within the chroot')
|
||||||
|
@ -145,7 +146,6 @@ def _main (cfgfile, config, type_client):
|
||||||
|
|
||||||
logger.info ('STAGE 4 - generate distribution files')
|
logger.info ('STAGE 4 - generate distribution files')
|
||||||
pxepkg = _get_pxepkg()
|
pxepkg = _get_pxepkg()
|
||||||
today = datetime.datetime.now(datetime.timezone.utc).strftime ('%Y%m%d')
|
|
||||||
nameisoclient = '-'.join (['ogLive', oscodename, osrelease, osarch, gitrelease+'_'+today])
|
nameisoclient = '-'.join (['ogLive', oscodename, osrelease, osarch, gitrelease+'_'+today])
|
||||||
_mkinitrd_squashfs_isofs (bttargetdir, osrelease, btrootfsimg, btrootfsmnt, pxepkg, isolinux_tpl, nameisoclient)
|
_mkinitrd_squashfs_isofs (bttargetdir, osrelease, btrootfsimg, btrootfsmnt, pxepkg, isolinux_tpl, nameisoclient)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue