Update for latest libdevuansdk (overhaul).

This commit makes live-sdk work with latest libdevuansdk. We also drop
fetching blends from http. These should be created beforehand and put in
a file for live-sdk to load.
This commit is contained in:
parazyd 2020-11-13 12:46:39 +01:00
parent 45fac74cea
commit d70c3471eb
No known key found for this signature in database
GPG Key ID: 6B636BF0493EE747
5 changed files with 37 additions and 88 deletions

View File

@ -1,3 +0,0 @@
Thank you very much for your help and advices!
- fsmithred <fsmithred@gmail.com>

View File

@ -69,32 +69,3 @@ Once initialized, you can run the helper command:
The image will automatically be build for you. Once finished, you will be The image will automatically be build for you. Once finished, you will be
able to find it in the `dist/` directory in live-sdk's root. able to find it in the `dist/` directory in live-sdk's root.
For more info, see the `doc/` directory.
## Acknowledgments
Devuan's SDK was originally conceived during a period of residency at the
Schumacher college in Dartington, UK. Greatly inspired by the laborious and
mindful atmosphere of its wonderful premises.
The Devuan SDK is Copyright (c) 2015-2017 by the Dyne.org Foundation
Devuan SDK components were designed, and are written and maintained by:
- Ivan J. <parazyd@dyne.org>
- Denis Roio <jaromil@dyne.org>
- Enzo Nicosia <katolaz@freaknet.org>
This source code is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This software is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with this source code. If not, see <http://www.gnu.org/licenses/>.

23
config
View File

@ -1,5 +1,6 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016-2017 Dyne.org Foundation # shellcheck shell=bash
# Copyright (c) 2016-2020 Dyne.org Foundation
# live-sdk is written and maintained by Ivan J. <parazyd@dyne.org> # live-sdk is written and maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of live-sdk # This file is part of live-sdk
@ -17,18 +18,14 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this source code. If not, see <http://www.gnu.org/licenses/>. # along with this source code. If not, see <http://www.gnu.org/licenses/>.
arch="amd64"
## live-sdk configuration export PATH="$PATH:/usr/sbin:/sbin"
## ----------------------
MAKEOPTS="-j$(grep -c 'processor' /proc/cpuinfo)" # Comment if you wish to disable stage4 archives for faster rebuilding
CPIO_STAGE4=1
export PATH="$PATH:/usr/sbin:/sbin:/usr/bin:/bin" # extra_packages for all images
## uncomment if you wish to create stage4 tarballs for faster rebuilding
# TAR_STAGE4=true
## extra_packages for all images
extra_packages+=( extra_packages+=(
live-config live-config
live-config-sysvinit live-config-sysvinit
@ -39,4 +36,10 @@ extra_packages+=(
squashfs-tools squashfs-tools
xorriso xorriso
cryptsetup cryptsetup
firmware-linux
) )
case "$arch" in
i386) extra_packages+=(linux-image-686) ;;
amd64) extra_packages+=(linux-image-amd64) ;;
esac

@ -1 +1 @@
Subproject commit 0611dccb1726bb4085bd98c5ddc0bb10930a2e0a Subproject commit 8e7a779237a55bbedf4b28c0980ff0ca2464fc8a

68
sdk
View File

@ -1,5 +1,6 @@
#!/usr/bin/env zsh #!/usr/bin/env zsh
# Copyright (c) 2016-2017 Dyne.org Foundation # shellcheck shell=bash
# Copyright (c) 2016-2020 Dyne.org Foundation
# live-sdk is written and maintained by Ivan J. <parazyd@dyne.org> # live-sdk is written and maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of live-sdk # This file is part of live-sdk
@ -17,51 +18,39 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this source code. If not, see <http://www.gnu.org/licenses/>. # along with this source code. If not, see <http://www.gnu.org/licenses/>.
livesdk_version="0.2" livesdk_version="1.0"
R=${LIVE_SDK-$PWD} R="${LIVE_SDK-$PWD}"
DEBUG=1 source "$R/lib/zuper/zuper"
QUIET=0
source $R/lib/zuper/zuper # Global vars
## global vars
vars+=(livesdk_version) vars+=(livesdk_version)
vars+=(R workdir strapdir) vars+=(R workdir strapdir)
vars+=(os oslib blendlib) vars+=(os oslib blendlib)
vars+=(release) vars+=(release)
vars+=(MAKEOPTS)
## global arrs # Global arrs
arrs+=(extra_packages) arrs+=(extra_packages)
## global maps # Global maps
maps+=(os_map blend_map) maps+=(os_map blend_map)
source $R/config source "$R/config"
#source $R/lib/helpers
## conclude zuper initialization # Conclude zuper initialization
source $R/lib/zuper/zuper.init source "$R/lib/zuper/zuper.init"
load() { load() {
fn load "$@" fn load "$@"
os="$1" os="$1"
arch="$2" blend="$2"
blend="$3"
[[ $# -gt 3 ]] && release="$4" [[ $# -gt 2 ]] && release="$3"
req=(os arch) req=(os arch)
ckreq || return 1 ckreq || return 1
case $arch in
amd64) earch="x86_64" ;;
i386) earch="i686" ;;
*) error "invalid arch specified"; zerr;;
esac
os_map=( os_map=(
"devuan" "$R/lib/libdevuansdk/libdevuansdk" "devuan" "$R/lib/libdevuansdk/libdevuansdk"
) )
@ -74,40 +63,29 @@ load() {
) )
oslib="${os_map[$os]}" oslib="${os_map[$os]}"
[[ -f "$oslib" ]] || { die "No valid distro specified"; return 1; }
source "$oslib"
blendlib="${blend_map[$blend]}" blendlib="${blend_map[$blend]}"
[[ $blendlib =~ '^http' ]] && { [[ -f "$blendlib" ]] || act "No blend specified"
notice "grabbing blend from the internetz" [[ -f "$blendlib" ]] && {
mkdir -p $R/extra/blends source "$blendlib" || { zerr; return 1; }
pushd $R/extra/blends act "$(basename "$blend") blend loaded"
curl -Ls -O $blendlib
popd
blendlib="$R/extra/blends/$(basename $blendlib)"
}
[[ -f $oslib ]] || { die "no valid distro specified"; exit 1 }
[[ -f $blendlib ]] || { act "no blend specified" }
source $oslib
[[ -f $blendlib ]] && {
source $blendlib || zerr
act "$os blend loaded -- ($blend -- release: $release)"
export BLEND=1 export BLEND=1
} }
workdir="$R/tmp/${os}-${arch}-build" workdir="$R/tmp/${os}-${arch}-build"
strapdir="$workdir/bootstrap" strapdir="$workdir/bootstrap"
mkdir -p $strapdir mkdir -p "$strapdir"
export LANG=C export LANG=C
export LC_ALL=C export LC_ALL=C
source $R/lib/zuper/zuper.init source "$R/lib/zuper/zuper.init"
} }
TRAPZERR() { zerr; return $? } TRAPZERR() { zerr; return $? }
notice "live-sdk loaded" notice "live-sdk $livesdk_version loaded"
export PROMPT="%F{yellow}%(?..%? )%{$reset_color%}livesdk@%{$fg[red]%}%m %{$reset_color%} %{$fg[blue]%}%#%{$fg_bold[blue]%}%{$reset_color%} " export PROMPT="%F{yellow}%(?..%? )%{$reset_color%}livesdk@%{$fg[red]%}%m %{$reset_color%} %{$fg[blue]%}%#%{$fg_bold[blue]%}%{$reset_color%} "
echo "release is: $release"