tminimal blend management and stub for package management - libdevuansdk - common library for devuan's simple distro kits HTML git clone https://git.parazyd.org/libdevuansdk DIR Log DIR Files DIR Refs DIR Submodules DIR README DIR LICENSE --- DIR commit d7abbc1393f9c7b085a7a5c65fb2fdf5f736bec6 DIR parent ec1c3080bde86e542925aeabc842a9bfaa115ce4 HTML Author: KatolaZ <katolaz@freaknet.org> Date: Thu, 16 Jun 2016 08:21:42 +0100 minimal blend management and stub for package management Diffstat: A zlibs/blends | 97 ++++++++++++++++++++++++++++++ A zlibs/packages | 64 +++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+), 0 deletions(-) --- DIR diff --git a/zlibs/blends b/zlibs/blends t@@ -0,0 +1,97 @@ +#!/usr/bin/env zsh +# +# Copyright (c) 2016 Dyne.org Foundation +# libdevuansdk is written and maintained by +# Jaromil <jaromil@dyne.org> +# KatolaZ <katolaz@freaknet.org> +# parazyd <parazyd@dyne.org> +# +# This file is part of libdevuansdk +# +# 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/>. + +## blend-related functions + + +## Apply a blend, i.e. read the "blend" file and source the +## corresponding *_init and *_run files +## +## FIXME!!!! We need a way to check that the source of init and run +## files were successful, so that we can popd as necessary upon failure +## +blend_apply(){ + fn blend_apply $@ + + blenddir=$1 + req=(blenddir strapdir arch) + reqck || return 1 + + if [[ ! -d $blenddir || ! -f ${blenddir}/blend ]]; then + error "::1 dir:: is not a valid blend" $blenddir + return 1 + fi + + pushd $blenddir + source blend + + ## Check if release is among the supported blend_releases + [[ -z ${blend_releases[(r)$release]} ]] && { + error "::1 rel:: is not among the releases supported by blend ::2 dir:: " $rel $blenddir; + popd; + return 1 + } + + [[ -z ${blend_archs[(r)$arch]} ]] && { + error "::1 arch:: is not among the architectures supported by blend ::2 dir:: " $arch $blenddir; + popd; + return 1 + } + + notice "Selecting blend architecture ::1 arch:: " $arch + pushd ${arch} + + [[ -n ${blend_init} ]] && { + notice "Initialising blend ::1 blend:: " $blenddir + ## + [[ ! -f ${blend_init} ]] && { + error "Blend initialisation file \"::1 file::\" not found" ${blend_init} + popd + popd + return 1 + } + + source ${blend_init} + act "Initialisation successful" + } + + [[ -n ${blend_run} ]] && { + + notice "Applying blend ::1 blend:: " $blenddir + ## + [[ ! -f ${blend_run} ]] && { + error "Blend run file \"::1 file::\" not found" ${blend_run} + popd + popd + return 1 + } + source ${blend_run} + act "Application successful" + } + # come back to blend main dir + popd + # come back to working directory before the call to blend_apply + popd + +} + DIR diff --git a/zlibs/packages b/zlibs/packages t@@ -0,0 +1,64 @@ +#!/usr/bin/env zsh +# +# Copyright (c) 2016 Dyne.org Foundation +# libdevuansdk is written and maintained by +# Jaromil <jaromil@dyne.org> +# KatolaZ <katolaz@freaknet.org> +# parazyd <parazyd@dyne.org> +# +# This file is part of libdevuansdk +# +# 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/>. + + +pkg_install_chroot(){ + fn pkg_install_chroot $@ + + pkg_name=$1 + root=${2:-$strapdir} + req=(pkg_name root) + reqck || return 1 + + mountdevprocsys ${root} + + sudo chroot ${root} apt-get --yes --force-yes install $kernel + + umountdevprocsys ${root} + + +} + + +pkg_install_ssh(){ + + +} + + +pkg_remove_chroot(){ + + +} + + +pkg_remove_ssh(){ + + +} + + +pkg_set_package_list(){ + + +}