38 Commits

Author SHA1 Message Date
4c3cb26d8e bump ver 2023-07-09 00:24:22 +03:00
0736ea40b4 autodetect .Xauthority file 2023-07-09 00:21:18 +03:00
9fb0b98c6a live-s6: drop alpm hook 2022-04-10 02:03:41 +02:00
a606b09367 0.13.5 2022-03-11 10:02:33 -06:00
a94e642103 simplify square brackets 2022-02-13 01:33:14 +02:00
1c6a1e592c Merge pull request 's6: update to the new s6-rc format' (#12) from s6-new-format into master
Reviewed-on: artix/live-services#12
2022-01-27 12:48:03 +01:00
f29508d011 s6: update to the new s6-rc format
s6-scripts finally updated to the new s6-rc format so the live-service
needs to change its formating to match. The main advantage of this is
that there is no need to sed in artix-live and pacman-init into the
contents file during the alpm hook. Instead, the empty files can just be
installed into the directory. It's much cleaner. As an aside, a couple
of BMODE calls in the makefile were changed to FMODE since s6-rc doesn't
need any of these files to be executable.
2022-01-23 13:17:33 -06:00
a28ed7f20d 0.13.4 2022-01-21 13:49:04 -06:00
4739509ac7 liveservices-hook: Merge broken sed arguments into single lines
Signed-off-by: strajder <strajder@artixlinux.org>
2022-01-21 20:40:59 +01:00
2d8d60c0bc fuck -e 2022-01-21 21:13:49 +02:00
04363a50bb makefile bump 2022-01-21 16:04:31 +02:00
f1368b1aa7 fix crash in DE 2022-01-21 15:59:08 +02:00
51ef407331 0.13.1 2022-01-20 19:24:07 -06:00
33d9fd2da3 66: remove pointless fdmove in pacman-init
This was originally copied over from the s6 oneshot script. The fdmove
line is not needed and serves no purpose. Just remove it.
2022-01-20 19:20:45 -06:00
56f1455c77 makefile: add alpm hooks to install_s6/66 2022-01-20 19:20:45 -06:00
5b35f20375 liveservices-hook: Add 66-specific setup
Signed-off-by: strajder <strajder@artixlinux.org>
2022-01-20 19:20:45 -06:00
730908dc51 add alpm-hook for live services
Only s6 and suite66 actually need to use this.
2022-01-20 19:20:45 -06:00
9672ce5b46 0.13 2022-01-21 00:50:37 +02:00
9cf651405e 0.12.3 2022-01-20 19:55:32 +02:00
65c79b931c 0.12.2 2022-01-08 08:25:34 +07:00
19fae52dc0 0.12.1 2022-01-08 08:20:23 +07:00
1f62798998 dinit: use live.d for live services 2022-01-08 08:19:29 +07:00
231acc723b rc: use a display-manager provide 2022-01-04 18:04:25 +01:00
dafee38770 Update 'bin/desktop-items.in' 2021-12-31 20:59:30 +01:00
91f8c5d64a s6: minor cleanups
The "live" bundle is pointless and superfluous. Remove it. Also, the
pacman-init up oneshot had a useless fdmove line in it. Remove that as
well.
2021-12-30 18:02:30 -06:00
0bff2c5715 complete list 2021-12-31 00:14:12 +02:00
88ebe2ee63 openrc: start before display manager 2021-12-30 23:12:40 +02:00
d253e889c5 0.12 2021-12-22 02:32:57 +02:00
71cb6715a5 add dinit 2021-12-22 02:21:01 +02:00
a4c443b658 0.11.3 2021-11-05 23:53:40 +07:00
a1c122c058 Merge pull request 'add initial support for dinit' (#10) from konimex/live-services:master into master
Reviewed-on: artix/live-services#10
2021-11-05 16:34:25 +01:00
bea63084ab add initial support for dinit 2021-10-27 17:02:51 +07:00
83b9a674a8 0.11.2 2021-10-20 14:10:14 +03:00
26ffee5d7c Merge pull request 'fix suite66 pdf' (#9) from nous/live-services:master into master
Reviewed-on: artix/live-services#9
2021-10-20 13:01:51 +02:00
8c3a81d0ee fix suite66 pdf 2021-10-20 13:00:23 +02:00
91b23a5265 remove archlinux keyring 2021-07-12 00:05:56 +02:00
aa58c995eb Add haveged depends 2021-05-03 01:18:36 +02:00
68b91bc6ec Merge pull request 'Add 66 to Makefile' (#8) from ndowens/live-services:master into master
Reviewed-on: artix/live-services#8
2021-04-30 01:33:15 +02:00
19 changed files with 194 additions and 34 deletions

View File

@@ -1,6 +1,6 @@
BSD 2-Clause License
Copyright (c) 2018-2019, Artix Linux
Copyright (c) 2018-2021, Artix Linux
All rights reserved.
Redistribution and use in source and binary forms, with or without

View File

@@ -1,4 +1,4 @@
VERSION = 0.10
VERSION = 0.13.7
PKG = live-services
TOOLS = artools
@@ -11,10 +11,17 @@ DATADIR = $(PREFIX)/share
SYSUSERSDIR = $(PREFIX)/lib/sysusers.d
LIVEUSER ?= artix
HOOKSDIR = $(DATADIR)/libalpm/hooks
SCRIPTSDIR = $(DATADIR)/libalpm/scripts
FMODE = -m0644
DMODE = -dm0755
BMODE = -m0755
ALPMSCRIPTS = $(wildcard libalpm/scripts/*)
ALPMHOOKS = $(wildcard libalpm/hooks/*)
BIN = \
bin/artix-live
@@ -33,6 +40,10 @@ RUNIT_SVD = \
RUNIT_SV = \
data/runit/pacman-init.run
S6_DEFAULT = \
data/s6/default/contents.d/artix-live \
data/s6/default/contents.d/pacman-init
S6_LIVE = \
data/s6/artix-live/up \
data/s6/artix-live/type
@@ -42,16 +53,21 @@ S6_PI = \
data/s6/pacman-init/up \
data/s6/pacman-init/down
S6_BUNDLE = \
data/s6/live/type \
data/s6/live/contents
66_LIVE = \
data/66/artix-live
66_PI = \
data/66/pacman-init
DINIT_LIVE = \
data/dinit/artix-live
DINIT_PI = \
data/dinit/pacman-init
DINIT_PI_SCRIPT = \
data/dinit/pacman-init.script
XDG = $(wildcard data/*.desktop)
XBIN = bin/desktop-items
@@ -93,6 +109,12 @@ install_base:
install $(DMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
install $(FMODE) $(SHARED) $(DESTDIR)$(DATADIR)/$(TOOLS)
install_alpm:
install $(DMODE) $(DESTDIR)$(SCRIPTSDIR)
install $(DMODE) $(DESTDIR)$(HOOKSDIR)
install $(BMODE) $(ALPMSCRIPTS) $(DESTDIR)$(SCRIPTSDIR)
install $(FMODE) $(ALPMHOOKS) $(DESTDIR)$(HOOKSDIR)
install_rc:
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/init.d
install $(BMODE) $(RC) $(DESTDIR)$(SYSCONFDIR)/init.d
@@ -109,22 +131,32 @@ install_runit:
install_s6:
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/s6/sv
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/s6/adminsv
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/s6/adminsv/default/contents.d
install $(FMODE) $(S6_DEFAULT) $(DESTDIR)$(SYSCONFDIR)/s6/adminsv/default/contents.d/
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/s6/sv/pacman-init
install $(BMODE) $(S6_PI) $(DESTDIR)$(SYSCONFDIR)/s6/sv/pacman-init/
install $(FMODE) $(S6_PI) $(DESTDIR)$(SYSCONFDIR)/s6/sv/pacman-init/
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/s6/sv/artix-live
install $(BMODE) $(S6_LIVE) $(DESTDIR)$(SYSCONFDIR)/s6/sv/artix-live/
install $(FMODE) $(S6_LIVE) $(DESTDIR)$(SYSCONFDIR)/s6/sv/artix-live/
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/s6/sv/live
install $(BMODE) $(S6_BUNDLE) $(DESTDIR)$(SYSCONFDIR)/s6/sv/live/
install_66:
install_66: install_alpm
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/66/service
install $(FMODE) $(66_LIVE) $(DESTDIR)$(SYSCONFDIR)/66/service/artix-live
install $(FMODE) $(66_PI) $(DESTDIR)$(SYSCONFDIR)/66/service/pacman-init
install_dinit:
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/dinit.d/scripts
install $(DMODE) $(DESTDIR)$(SYSCONFDIR)/dinit.d/live.d
install $(FMODE) $(DINIT_LIVE) $(DESTDIR)$(SYSCONFDIR)/dinit.d/artix-live
install $(FMODE) $(DINIT_PI) $(DESTDIR)$(SYSCONFDIR)/dinit.d/pacman-init
install $(BMODE) $(DINIT_PI_SCRIPT) $(DESTDIR)$(SYSCONFDIR)/dinit.d/scripts/pacman-init
ln -s ../artix-live $(DESTDIR)$(SYSCONFDIR)/dinit.d/live.d
ln -s ../pacman-init $(DESTDIR)$(SYSCONFDIR)/dinit.d/live.d
install_xdg:
install -dm0755 $(DESTDIR)$(PREFIX)/bin
install -m0755 ${XBIN} $(DESTDIR)$(PREFIX)/bin

View File

@@ -1 +1 @@
# live-services
# live-services

View File

@@ -7,15 +7,17 @@ xdg-user-dirs-update --force
xdg=$(xdg-user-dir DESKTOP)
src=@datadir@/applications
# if [[ -f $src/org.kde.konversation.desktop ]]; then
# if [ -f $src/org.kde.konversation.desktop ]; then
# install -m644 $src/org.kde.konversation.desktop \
# $xdg/org.kde.konversation.desktop
# fi
if [[ -f @bindir@/calamares ]]; then
cp -f $src/calamares.desktop "$xdg/"
sed -i s/Icon.*=calamares/Icon=artixlinux-logo/g "$xdg"/calamares.desktop
chmod +x "$xdg/calamares.desktop"
if [ -f @bindir@/calamares ]; then
installer='calamares.desktop'
cp -f $src/$installer "$xdg/"
sed -i s/Icon.*=calamares/Icon=artixlinux-logo/g "$xdg"/$installer
sed -ir "s|XAUTHCOOKIE|$XAUTHORITY|" "$xdg"/$installer
chmod +x "$xdg/$installer"
fi
docs=@datadir@/doc/artix
@@ -24,10 +26,14 @@ for f in {Configuration,Troubleshooting}.pdf; do
ln -s $docs/$f "$xdg"/$f
done
if [[ -d /run/openrc ]]; then
if [ -d /run/openrc ]; then
ln -s $docs/OpenRC.pdf "$xdg"/OpenRC.pdf
elif [[ -d /run/runit ]]; then
elif [ -d /run/runit ]; then
ln -s $docs/Runit.pdf "$xdg"/Runit.pdf
elif [ -d /run/66 ]; then
ln -s $docs/Suite66.pdf "$xdg"/Suite66.pdf
elif [ -d /run/dinit ]; then
ln -s $docs/Dinit.pdf "$xdg"/Dinit.pdf
else
ln -s $docs/S6.pdf "$xdg"/S6.pdf
fi

View File

@@ -1,13 +1,13 @@
[main]
@type = oneshot
@description = "pacman init service"
@version = 0.0.1
@user = (root)
@version = 0.0.2
@user = ( root )
@extdepends = ( haveged )
[start]
@execute = (
foreground { mkdir -p /etc/pacman.d/gnupg }
foreground { mount -t tmpfs -o size=10M,mode=0755 tmpfs /etc/pacman.d/gnupg }
fdmove -c 2 1
foreground { pacman-key --init }
foreground { pacman-key --populate archlinux artix } )
foreground { pacman-key --populate artix } )

4
data/dinit/artix-live Normal file
View File

@@ -0,0 +1,4 @@
type = scripted
command = /usr/bin/artix-live
restart = false
waits-for = setup

5
data/dinit/pacman-init Normal file
View File

@@ -0,0 +1,5 @@
type = scripted
command = /etc/dinit.d/scripts/pacman-init
stop-command = /usr/bin/umount -l /etc/pacman.d/gnupg
restart = false
waits-for = setup

View File

@@ -0,0 +1,4 @@
#!/bin/sh
/usr/bin/mount -t tmpfs -o size=10M,mode=0755 tmpfs /etc/pacman.d/gnupg
/usr/bin/pacman-key --init
/usr/bin/pacman-key --populate artix

View File

@@ -1,15 +1,17 @@
#!/usr/bin/openrc-run
# Copyright 2014 Aaditya Bagga (aaditya_gnulinux@zoho.com)
# Copyright 2017-2021 The Artix Linux developers
# Distributed under the terms of the GNU General Public License v2
description="LiveMedia Config Script"
depend() {
need localmount
before display-manager ly
}
start() {
ebegin "Starting artix live script"
/usr/bin/artix-live
eend $?
ebegin "Starting artix live script"
/usr/bin/artix-live
eend $?
}

View File

@@ -12,6 +12,6 @@ depend() {
start() {
ebegin "Running pacman initialization"
/usr/bin/pacman-key --init &> /dev/null
/usr/bin/pacman-key --populate archlinux artix &> /dev/null
/usr/bin/pacman-key --populate artix &> /dev/null
eend $?
}

View File

@@ -1,5 +1,5 @@
#!/bin/sh
mount -t tmpfs -o size=10M,mode=0755 tmpfs /etc/pacman.d/gnupg
pacman-key --init 1>&2
pacman-key --populate archlinux artix 1>&2
pacman-key --populate artix 1>&2
exec chpst -b pacman-init pause

View File

View File

View File

@@ -1,2 +0,0 @@
artix-live
pacman-init

View File

@@ -1 +0,0 @@
bundle

View File

@@ -1,6 +1,5 @@
#!@bindir@/execlineb -P
foreground { mkdir -p /etc/pacman.d/gnupg }
foreground { mount -t tmpfs -o size=10M,mode=0755 tmpfs /etc/pacman.d/gnupg }
fdmove -c 2 1
foreground { pacman-key --init }
foreground { pacman-key --populate archlinux artix }
foreground { pacman-key --populate artix }

View File

@@ -0,0 +1,12 @@
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = artix-live-s6
Target = artix-live-suite66
[Action]
Description = Enabling live services ...
When = PostTransaction
Exec = /usr/share/libalpm/scripts/liveservices-hook enable
NeedsTargets

View File

@@ -0,0 +1,11 @@
[Trigger]
Operation = Remove
Type = Package
Target = artix-live-s6
Target = artix-live-suite66
[Action]
Description = Disabling live services ...
When = PreTransaction
Exec = /usr/share/libalpm/scripts/liveservices-hook disable
NeedsTargets

View File

@@ -0,0 +1,88 @@
#!/bin/sh -e
# Only needed for s6 and suite66.
s6_enable_live_services(){
if [ -d /etc/s6/sv/gdm/dependencies.d ]; then
touch /etc/s6/sv/gdm/dependencies.d/artix-live
fi
if [ -d /etc/s6/sv/lightdm-srv/dependencies.d ]; then
touch /etc/s6/sv/lightdm-srv/dependencies.d/artix-live
fi
if [ -d /etc/s6/sv/sddm/dependencies.d ]; then
touch /etc/s6/sv/sddm/dependencies.d/artix-live
fi
}
s6_disable_live_services(){
rm -f /etc/s6/sv/gdm/dependencies.d/artix-live
rm -f /etc/s6/sv/lightdm-srv/dependencies.d/artix-live
rm -f /etc/s6/sv/sddm/dependencies.d/artix-live
}
suite66_enable_live_services(){
[ -d /var/lib/66/system/boot ] || 66-tree -n boot
[ -d /var/lib/66/system/default ] || 66-tree -ncE default
66-enable -t default artix-live pacman-init
if [ -f /usr/bin/gdm ]; then
66-disable -t default logind gdm
sed -i -E 's#@depends\s*=\s*\(\s*([^)]+)\s*\)#@depends = ( \1artix-live pacman-init )#' /etc/66/service/gdm
66-enable -t default logind gdm
elif [ -f /usr/bin/lightdm ]; then
66-disable -t default logind lightdm
sed -i -E 's#@depends\s*=\s*\(\s*([^)]+)\s*\)#@depends = ( \1artix-live pacman-init )#' /etc/66/service/lightdm
66-enable -t default logind lightdm
elif [ -f /usr/bin/sddm ]; then
66-disable -t default logind sddm
sed -i -E 's#@depends\s*=\s*\(\s*([^)]+)\s*\)#@depends = ( \1artix-live pacman-init )#' /etc/66/service/sddm
66-enable -t default logind sddm
fi
66-enable -t boot -F boot@system
}
suite66_disable_live_services(){
66-disable -t default artix-live pacman-init
if [ -f /usr/bin/gdm ]; then
66-disable -t default logind gdm
sed -i -E 's# artix-live pacman-init##' /etc/66/service/gdm
66-enable -t default logind gdm
elif [ -f /usr/bin/lightdm ]; then
66-disable -t default logind lightdm
sed -i -E 's# artix-live pacman-init##' /etc/66/service/lightdm
66-enable -t default logind lightdm
elif [ -f /usr/bin/sddm ]; then
66-disable -t default logind sddm
sed -i -E 's# artix-live pacman-init##' /etc/66/service/sddm
66-enable -t default logind sddm
fi
66-enable -t boot -F boot@system
}
enable_live_services() {
if [ -f /usr/bin/s6-init ]; then
s6_enable_live_services
fi
if [ -f /usr/bin/suite66-init ]; then
suite66_enable_live_services
fi
}
disable_live_services() {
if [ -f /usr/bin/s6-init ]; then
s6_disable_live_services
fi
if [ -f /usr/bin/suite66-init ]; then
suite66_disable_live_services
fi
}
case "$1" in
enable) enable_live_services ;;
disable) disable_live_services ;;
*) echo >&2 " Invalid operation '$1'"; exit 1 ;;
esac