Compare commits

...

17 Commits
0.5.1 ... 0.5.4

Author SHA1 Message Date
artoo
01142309ac Merge pull request #29 from artix-linux/devel
Devel-0.5.4
2017-08-18 20:02:42 +02:00
udeved
d630ed2582 buildpkg: autocreate root chroot 2017-08-18 19:55:16 +02:00
udeved
9c546ca7fb buildiso, buildyaml: kill run_dir 2017-08-18 18:50:57 +02:00
udeved
a6a74c69f1 util-iso: fix traps 2017-08-18 13:40:51 +02:00
udeved
0f51544da4 buildiso: always load systemwide base profile 2017-08-18 12:23:31 +02:00
udeved
afe30328a6 data: remove example profile.conf & repo_info 2017-08-18 12:22:46 +02:00
udeved
9d7148b60e clean up code 2017-08-18 10:00:55 +02:00
artoo
afa239995c Merge pull request #28 from artix-linux/devel
Devel-0.5.3
2017-08-18 01:14:53 +02:00
udeved
0b4a4840e3 update readme 2017-08-18 01:14:09 +02:00
udeved
034e5a0a82 util: #18 2017-08-18 01:11:31 +02:00
udeved
d2590ddd74 util-profile: adopt system wide base profile 2017-08-18 01:10:50 +02:00
udeved
2975de2fb5 buildtree: prepare to drop import repos 2017-08-17 23:46:26 +02:00
udeved
b9383b628c remove pkglist.d 2017-08-17 11:53:01 +02:00
artoo
01bc8673c4 Merge pull request #27 from artix-linux/devel
Devel
2017-08-17 02:24:35 +02:00
udeved
0fcdc6af63 Makefile: add repo_info file 2017-08-17 02:04:16 +02:00
udeved
5ae9803be1 add iso base profile 2017-08-17 01:50:02 +02:00
udeved
b36ffd813e buildpkg: tweak chroots and pkg dir 2017-08-17 01:13:26 +02:00
26 changed files with 295 additions and 194 deletions

View File

@@ -59,8 +59,7 @@ LIBS_ISO = \
$(wildcard lib/util-iso*.sh)
SHARED_ISO = \
data/mkinitcpio.conf \
data/profile.conf.example
data/mkinitcpio.conf
CPIOHOOKS = \
$(wildcard initcpio/hooks/*)
@@ -81,6 +80,23 @@ LIBS_YAML = \
SHARED_YAML = \
data/linux.preset
BASE = \
$(wildcard data/base/Packages-*) \
data/base/profile.conf
LIVE_ETC = \
data/base/live-overlay/etc/issue \
data/base/live-overlay/etc/fstab
LIVE_ETC_DEFAULT = \
$(wildcard data/base/live-overlay/etc/default/*)
LIVE_ETC_PAM = \
$(wildcard data/base/live-overlay/etc/pam.d/*)
LIVE_ETC_SUDOERS = \
$(wildcard data/base/live-overlay/etc/sudoers.d/*)
all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO) $(BIN_YAML)
edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \
@@ -112,9 +128,6 @@ install_base:
install -m0644 ${SHARED_BASE} $(DESTDIR)$(PREFIX)/share/artools
install_pkg:
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d
install -m0644 ${LIST_PKG} $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d
install -m0644 ${LIST_IMPORT} $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d
@@ -132,6 +145,25 @@ install_pkg:
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools
install -m0644 ${SHARED_PKG} $(DESTDIR)$(PREFIX)/share/artools
install_isobase:
# install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
# install -m0644 ${INFO} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base
install -m0644 ${BASE} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc
install -m0644 ${LIVE_ETC} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default
install -m0644 ${LIVE_ETC_DEFAULT} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d
install -m0644 ${LIVE_ETC_PAM} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d
install -m0644 ${LIVE_ETC_SUDOERS} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d
install_iso:
install -dm0755 $(DESTDIR)$(PREFIX)/bin
install -m0755 ${BIN_ISO} $(DESTDIR)$(PREFIX)/bin
@@ -168,7 +200,6 @@ uninstall_base:
for f in ${LIBS_BASE}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
uninstall_pkg:
for f in ${LIST_PKG}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d/$$f; done
for f in ${LIST_IMPORT}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d/$$f; done
for f in ${ARCH_CONF}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/make.conf.d/$$f; done
for f in ${BIN_PKG}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
@@ -176,6 +207,14 @@ uninstall_pkg:
for f in ${SHARED_PKG}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done
for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
uninstall_isobase:
# for f in ${INFO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/$$f; done
for f in ${BASE}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/$$f; done
for f in ${LIVE_ETC}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/$$f; done
for f in ${LIVE_ETC_DEFAULT}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default/$$f; done
for f in ${LIVE_ETC_PAM}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d/$$f; done
for f in ${LIVE_ETC_SUDOERS}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d/$$f; done
uninstall_iso:
for f in ${BIN_ISO}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
for f in ${SHARED_ISO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done
@@ -190,9 +229,9 @@ uninstall_yaml:
for f in ${LIBS_YAML}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
for f in ${SHARED_YAML}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done
install: install_base install_pkg install_iso install_yaml
install: install_base install_pkg install_iso install_yaml install_isobase
uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_yaml
uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_yaml uninstall_isobase
dist:
git archive --format=tar --prefix=artools-$(Version)/ $(Version) | gzip -9 > artools-$(Version).tar.gz

View File

@@ -31,16 +31,12 @@ By default it is commented and shows just initialization values done in code.
Tools configuration is done in artools.conf or by args.
Specifying args will override artools.conf settings.
User build lists(eg 'my-super-build.list') can be placed in
~~~
$HOME/.config/artools/pkg.list.d
$HOME/.config/artools/iso.list.d
$HOME/.config/artools/import.list.d
~~~
overriding
~~~
/etc/artools/pkg.list.d
/etc/artools/iso.list.d
/etc/artools/import.list.d
~~~

View File

@@ -19,8 +19,38 @@ SYSCONFDIR='@sysconfdir@'
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-iso.sh
prepare_traps(){
for sig in TERM HUP QUIT; do
trap "trap_exit $sig \"$(gettext "%s signal caught. Exiting...")\" \"$sig\"" "$sig"
done
trap 'trap_exit INT "$(gettext "Aborted by user! Exiting...")"' INT
# trap 'trap_exit USR1 "$(gettext "An unknown error has occurred. Exiting...")"' ERR
}
prepare_build(){
timer_start=$(get_timer)
load_profile "${profile}"
local pac_arch='default' pacman_conf
[[ "${target_arch}" == 'x86_64' ]] && pac_arch='multilib'
pacman_conf="${DATADIR}/pacman-$pac_arch.conf"
iso_file=$(gen_iso_fn).iso
mkchroot_args+=(-C ${pacman_conf})
work_dir=${chroots_iso}/${profile}/${target_arch}
iso_dir="${cache_dir_iso}/${profile}"
iso_root=${chroots_iso}/${profile}/iso
mnt_dir=${chroots_iso}/${profile}/mnt
prepare_dir "${mnt_dir}"
prepare_dir "${iso_dir}"
}
show_profile(){
prepare_build
msg2 "iso_file: %s" "${iso_file}"
if ${verbose};then
msg2 "autologin: %s" "${autologin}"
@@ -36,7 +66,6 @@ show_profile(){
msg2 "openrc_boot: %s" "${openrc_boot[*]}"
msg2 "openrc_default: %s" "${openrc_default[*]}"
fi
reset_profile
}
display_settings(){
@@ -69,8 +98,6 @@ load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
load_run_dir
clean_first=true
pretend=false
images_only=false
@@ -135,7 +162,9 @@ shift $(($OPTIND - 1))
check_root
check_requirements
prepare_traps
prepare_build
${pretend} && display_settings && exit 1

View File

@@ -100,8 +100,8 @@ prepare_build(){
local pacman_conf="${DATADIR}/pacman-$pac_arch.conf"
[[ -f $AT_USERCONFDIR/pacman-$pac_arch.conf ]] && pacman_conf="$AT_USERCONFDIR/pacman-$pac_arch.conf"
work_dir="${chroots_pkg}/${repository}-${target_arch}"
pkg_dir="${cache_dir_pkg}/${repository}-${target_arch}"
work_dir="${chroots_pkg}/${target_arch}/${repository}"
pkg_dir="${cache_dir_pkg}/${target_arch}/${repository}"
local makepkg_conf=$(get_makepkg_conf "${target_arch}")
@@ -178,8 +178,13 @@ prepare_build
${pretend} && display_settings && exit
${delete_first} && delete_chroot "${work_dir}/root" "${work_dir}"
if ${delete_first};then
delete_chroot "${work_dir}/root" "${work_dir}"
delete_chroot "${work_dir}/$OWNER" "${work_dir}"
fi
${create_first} && create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}"
if ${create_first} || [[ ! -d ${work_dir}/root ]];then
create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}"
fi
build "${package}"

View File

@@ -37,7 +37,6 @@ display_settings(){
msg "ARGS:"
msg2 "verbose: %s" "${verbose}"
msg2 "artix: %s" "${artix}"
msg2 "arch: %s" "${arch}"
msg2 "import_arch: %s" "${import_arch}"
@@ -57,7 +56,6 @@ load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
artix=false
pretend=false
arch=false
import_arch=false
@@ -67,7 +65,6 @@ rsync_args=(-aWx --progress --delete --no-R --no-implied-dirs)
usage() {
echo "Usage: ${0##*/} [options]"
echo " -x Sync artix import tree"
echo " -a Sync arch tree"
echo ' -i Import arch packages'
echo ' -v Verbose import output'
@@ -80,11 +77,10 @@ usage() {
orig_argv=("$0" "$@")
opts='xaivqh'
opts='aivqh'
while getopts "${opts}" arg; do
case "${arg}" in
x) artix=true ;;
a) arch=true ;;
i) import_arch=true ;;
v) verbose=true; rsync_args+=(-v --stats) ;;
@@ -101,8 +97,6 @@ prepare_dir "${tree_dir_arch}"
${pretend} && display_settings && exit 1
${artix} && sync_tree_artix
${arch} && sync_tree_arch
${import_arch} && import_from_arch

View File

@@ -21,7 +21,6 @@ import ${LIBDIR}/util-yaml-check.sh
import ${LIBDIR}/util-profile.sh
show_profile(){
prepare_build
msg2 "yaml_dir: %s" "${yaml_dir}"
msg2 "autologin: %s" "${autologin}"
@@ -35,9 +34,6 @@ show_profile(){
msg2 "enable_live: %s" "${enable_live[*]}"
msg2 "openrc_boot: %s" "${openrc_boot[*]}"
msg2 "openrc_default: %s" "${openrc_default[*]}"
reset_profile
unset yaml_dir
}
display_settings(){
@@ -62,11 +58,6 @@ load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
# to force old way to have buildiso run in iso-profiles dir
# run_dir=$(pwd)
load_run_dir
calamares=false
pretend=false
group=false
@@ -107,6 +98,8 @@ done
shift $(($OPTIND - 1))
prepare_build
${pretend} && display_settings && exit 1
${group} && write_pacman_group_yaml "${profile}" && exit 0

View File

@@ -63,6 +63,7 @@ add_pkg=false
del_pkg=false
copy_pkg=false
package=''
repository='system'
rsync_args=(-rtxisP --progress --delete -e ssh)

View File

@@ -8,9 +8,6 @@
# build dir where buildpkg or buildiso chroots are created
# chroots_dir=/var/lib/artools
# custom build mirror server
# build_mirror=https://netcologne.dl.sourceforge.net/project/artix-linux/repos
# the server user
# account=[SetUser]
@@ -27,8 +24,8 @@
################ artools-pkg ################
#############################################
# artix import tree
# repo_tree_import=('system-arch' 'world-arch' 'galaxy-arch')
# artix testing branches import tree
# repo_tree_import=('system' 'world' 'galaxy')
# host_tree_artix=https://github.com/artix-linux
@@ -44,9 +41,6 @@
################ artools-iso ################
#############################################
# the default profile
# profile=base
# the dist release; default: auto
# dist_release=rolling

9
data/base/Packages-Live Normal file
View File

@@ -0,0 +1,9 @@
mkinitcpio-nfs-utils
nbd
>openrc artix-live-openrc
squashfs-tools
artix-live-portable-efi
virtualbox-guest-modules-artix
virtualbox-guest-utils
linux-lts-headers

82
data/base/Packages-Root Normal file
View File

@@ -0,0 +1,82 @@
acpi
b43-fwcutter
bash
btrfs-progs
bzip2
coreutils
crda
dhclient
diffutils
dmraid
dnsmasq
dosfstools
e2fsprogs
ecryptfs-utils
exfat-utils
f2fs-tools
file
filesystem
findutils
gawk
gcc-libs
gettext
glibc
grep
grub
gzip
inetutils
#intel-ucode
iproute2
iptables
iputils
ipw2100-fw
ipw2200-fw
jfsutils
KERNEL
less
licenses
linux-firmware
logrotate
lsb-release
man-db
man-pages
memtest86+
mkinitcpio-openswap
nano
ntfs-3g
>openrc acpid-openrc
>openrc cronie-openrc
>openrc cryptsetup-openrc
>openrc dbus-openrc
>openrc device-mapper-openrc
>openrc dhcpcd-openrc
>openrc elogind-openrc
>openrc haveged-openrc
>openrc lvm2-openrc
>openrc mdadm-openrc
>openrc netifrc
>openrc nfs-utils-openrc
>openrc rsync-openrc
>openrc wpa_supplicant-openrc
os-prober
pacman
pciutils
pcmciautils
perl
procps-ng
psmisc
reiserfsprogs
sed
shadow
s-nail
sudo
sysfsutils
tar
texinfo
usbutils
util-linux
which
>x86_64 efibootmgr
xfsprogs
zd1211-firmware
zsh

View File

@@ -0,0 +1,49 @@
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Artix"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="cyan/black"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
GRUB_BACKGROUND="/usr/share/grub/background.png"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

View File

@@ -0,0 +1,5 @@
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
/dev/mapper/root-image / auto defaults 0 0

View File

@@ -0,0 +1,13 @@

Artix Live ISO (\l) - \s-\r \m
# Welcome to Artix #
login for the live environment:
user 'artix'
password 'artix'

View File

@@ -0,0 +1,6 @@
#%PAM-1.0
auth sufficient pam_rootok.so
auth sufficient pam_wheel.so trust use_uid
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so

View File

@@ -0,0 +1 @@
%wheel ALL=(ALL) NOPASSWD: ALL

View File

@@ -1,7 +1,3 @@
##########################################
###### use this file in the profile ######
##########################################
################ install ################
# default displaymanager: none

View File

@@ -1 +0,0 @@
openrc

View File

@@ -35,7 +35,6 @@ error_function() {
run_log(){
local func="$1"
local logfile=${log_dir}/$(gen_iso_fn).$func.log
# local tmpfile=${tmp_dir}/$func.ansi.log
logpipe=$(mktemp -u "${tmp_dir}/$func.pipe.XXXXXXXX")
mkfifo "$logpipe"
tee "$logfile" < "$logpipe" &
@@ -43,8 +42,6 @@ run_log(){
$func &> "$logpipe"
wait $teepid
rm "$logpipe"
# cat $tmpfile | perl -pe 's/\e\[?.*?[\@-~]//g' > $logfile
# rm "$tmpfile"
}
run_safe() {
@@ -392,42 +389,7 @@ prepare_images(){
show_elapsed_time "${FUNCNAME}" "${timer}"
}
check_requirements(){
[[ -f ${run_dir}/repo_info ]] || die "%s is not a valid iso profiles directory!" "${run_dir}"
for sig in TERM HUP QUIT; do
trap "trap_exit $sig \"$(gettext "%s signal caught. Exiting...")\" \"$sig\"" "$sig"
done
trap 'trap_exit INT "$(gettext "Aborted by user! Exiting...")"' INT
trap 'trap_exit USR1 "$(gettext "An unknown error has occurred. Exiting...")"' ERR
}
prepare_build(){
timer_start=$(get_timer)
local profile_dir=${run_dir}/${profile}
load_profile "${profile_dir}"
local pac_arch='default' pacman_conf
[[ "${target_arch}" == 'x86_64' ]] && pac_arch='multilib'
pacman_conf="${DATADIR}/pacman-$pac_arch.conf"
iso_file=$(gen_iso_fn).iso
mkchroot_args+=(-C ${pacman_conf})
work_dir=${chroots_iso}/${profile}/${target_arch}
iso_dir="${cache_dir_iso}/${profile}"
iso_root=${chroots_iso}/${profile}/iso
mnt_dir=${chroots_iso}/${profile}/mnt
prepare_dir "${mnt_dir}"
prepare_dir "${iso_dir}"
}
build(){
prepare_build
msg "Start building [%s]" "${profile}"
if ${clean_first};then
chroot_clean "${chroots_iso}/${profile}/${target_arch}"
@@ -447,7 +409,6 @@ build(){
prepare_images
compress_images
fi
reset_profile
msg "Finished building [%s]" "${profile}"
show_elapsed_time "${FUNCNAME}" "${timer_start}"
}

View File

@@ -19,7 +19,7 @@ repo_update(){
fi
local cmd='ln -s'
$copy && cmd='cp'
$cmd ${cache_dir_pkg}/$repo-$arch/$pkg{,.sig} ${repos_local}/$repo/os/$arch/
$cmd ${cache_dir_pkg}/$arch/$repo/$pkg{,.sig} ${repos_local}/$repo/os/$arch/
fi
local dest=${repos_local}/$repo/os/$arch/$pkg
[[ $action == "remove" ]] && dest=$pkg

View File

@@ -49,21 +49,6 @@ clone_tree(){
show_elapsed_time "${FUNCNAME}" "${timer}"
}
sync_tree_artix(){
cd ${tree_dir_artix}
for repo in ${repo_tree_import[@]};do
if [[ -d ${repo} ]];then
cd ${repo}
$(is_dirty) && die "[%s] has uncommited changes!" "${repo}"
sync_tree "${repo}"
cd ..
else
clone_tree "${repo}" "${host_tree_artix}/${repo}"
fi
done
cd ..
}
sync_tree_arch(){
cd ${tree_dir_arch}
for repo in ${repo_tree_arch[@]};do
@@ -95,15 +80,16 @@ is_untracked(){
}
import_from_arch(){
local timer=$(get_timer)
local timer=$(get_timer) branch='testing'
for repo in ${repo_tree_import[@]};do
read_import_list "$repo"
if [[ -n ${import_list[@]} ]];then
cd ${tree_dir_artix}/$repo
# git checkout master &> /dev/null
git checkout $branch &> /dev/null
$(is_dirty) && die "[%s] has uncommited changes!" "${repo}"
git pull origin $branch &> /dev/null
local arch_dir=packages
[[ $repo == "galaxy-arch" ]] && arch_dir=community
[[ $repo == "galaxy" ]] && arch_dir=community
msg "Import into [%s]" "$repo"
for pkg in ${import_list[@]};do
rsync "${rsync_args[@]}" ${tree_dir_arch}/$arch_dir/$pkg/trunk/ ${tree_dir_artix}/$repo/$pkg/

View File

@@ -8,31 +8,29 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
write_repo_conf(){
local repos=$(find $USER_HOME -type f -name "repo_info")
local path name
[[ -z ${repos[@]} ]] && run_dir=${DATADIR}/iso-profiles && return 1
for r in ${repos[@]}; do
path=${r%/repo_info}
name=${path##*/}
echo "run_dir=$path" > ${AT_USERCONFDIR}/$name.conf
done
}
load_run_dir(){
local gitrepo='iso-profiles'
[[ -f ${AT_USERCONFDIR}/$gitrepo.conf ]] || write_repo_conf
[[ -r ${AT_USERCONFDIR}/$gitrepo.conf ]] && source ${AT_USERCONFDIR}/$gitrepo.conf
return 0
}
load_profile(){
local profdir="$1"
local profile_conf="$profdir/profile.conf"
local prof="$1"
local profdir="${DATADIR}/iso-profiles/$prof"
[[ "$prof" != 'base' ]] && profdir=${workspace_dir}/iso-profiles/$prof
[[ -f ${profile_conf} ]] || return 1
root_list="${DATADIR}/iso-profiles/base/Packages-Root"
[[ -f "$profdir/Packages-Root" ]] && root_list="$profdir/Packages-Root"
[[ -r ${profile_conf} ]] && source ${profile_conf}
root_overlay="${DATADIR}/iso-profiles/base/root-overlay"
[[ -d "$profdir/root-overlay" ]] && root_overlay="$profdir/root-overlay"
[[ -f "$profdir/Packages-Desktop" ]] && desktop_list="$profdir/Packages-Desktop"
[[ -d "$profdir/desktop-overlay" ]] && desktop_overlay="$profdir/desktop-overlay"
live_list="${DATADIR}/iso-profiles/base/Packages-Live"
[[ -f "$profdir/Packages-Live" ]] && live_list="$profdir/Packages-Live"
live_overlay="${DATADIR}/iso-profiles/base/live-overlay"
[[ -d "$profdir/live-overlay" ]] && live_overlay="$profdir/live-overlay"
[[ -f $profdir/profile.conf ]] || return 1
[[ -r $profdir/profile.conf ]] && source $profdir/profile.conf
[[ -z ${displaymanager} ]] && displaymanager="none"
@@ -61,44 +59,11 @@ load_profile(){
enable_live=('artix-live' 'pacman-init')
netgroups="https://raw.githubusercontent.com/artix-linux/netgroups/master"
root_list=${run_dir}/base/Packages-Root
[[ -f "$profdir/Packages-Root" ]] && root_list="$profdir/Packages-Root"
root_overlay="${run_dir}/base/root-overlay"
[[ -d "$profdir/root-overlay" ]] && root_overlay="$profdir/root-overlay"
[[ -f "$profdir/Packages-Desktop" ]] && desktop_list=$profdir/Packages-Desktop
[[ -d "$profdir/desktop-overlay" ]] && desktop_overlay="$profdir/desktop-overlay"
live_list="${run_dir}/base/Packages-Live"
[[ -f "$profdir/Packages-Live" ]] && live_list="$profdir/Packages-Live"
live_overlay="${run_dir}/base/live-overlay"
[[ -d "$profdir/live-overlay" ]] && live_overlay="$profdir/live-overlay"
[[ -z ${netgroups} ]] && netgroups="https://raw.githubusercontent.com/artix-linux/netgroups/master"
return 0
}
reset_profile(){
unset displaymanager
unset autologin
unset hostname
unset username
unset password
unset addgroups
unset openrc_boot
unset openrc_default
unset enable_live
unset root_list
unset desktop_list
unset live_list
unset root_overlay
unset desktop_overlay
unset live_overlay
}
write_live_session_conf(){
local path=$1${SYSCONFDIR}
[[ ! -d $path ]] && mkdir -p "$path"

View File

@@ -38,17 +38,12 @@ gen_fn(){
}
prepare_build(){
local profile_dir=${run_dir}/${profile}
load_profile "${profile_dir}"
load_profile "${profile}"
yaml_dir=${cache_dir_netinstall}/${profile}/${target_arch}
prepare_dir "${yaml_dir}"
}
build(){
prepare_build
load_pkgs "${root_list}" "${target_arch}" "${initsys}" "${kernel}"
write_netgroup_yaml "${profile}" "$(gen_fn "Packages-Root")"
if [[ -f "${desktop_list}" ]]; then
@@ -56,6 +51,4 @@ build(){
write_netgroup_yaml "${profile}" "$(gen_fn "Packages-Desktop")"
fi
${calamares} && configure_calamares "${yaml_dir}"
reset_profile
unset yaml_dir
}

View File

@@ -37,14 +37,9 @@ prepare_dir(){
[[ ! -d $1 ]] && mkdir -p $1
}
get_release(){
source /etc/lsb-release
echo "${DISTRIB_RELEASE}"
}
get_distname(){
source /etc/lsb-release
echo "${DISTRIB_ID%Linux}"
source /usr/lib/os-release
echo "${NAME%Linux}"
}
get_disturl(){
@@ -68,8 +63,6 @@ init_artools_base(){
[[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools'
[[ -z ${build_mirror} ]] && build_mirror='https://downloads.sourceforge.net/project/artix-linux/repos'
log_dir='/var/log/artools'
tmp_dir='/tmp'
@@ -91,9 +84,7 @@ init_artools_pkg(){
[[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix
[[ -z ${repo_tree_artix[@]} ]] && repo_tree_artix=('system' 'world' 'galaxy')
[[ -z ${repo_tree_import[@]} ]] && repo_tree_import=('system-arch' 'world-arch' 'galaxy-arch')
[[ -z ${repo_tree_import[@]} ]] && repo_tree_import=('system' 'world' 'galaxy')
[[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux'
@@ -109,18 +100,12 @@ init_artools_pkg(){
chroots_pkg="${chroots_dir}/buildpkg"
list_dir_pkg="${SYSCONFDIR}/pkg.list.d"
make_conf_dir="${SYSCONFDIR}/make.conf.d"
[[ -d ${AT_USERCONFDIR}/pkg.list.d ]] && list_dir_pkg=${AT_USERCONFDIR}/pkg.list.d
cache_dir_pkg=${workspace_dir}/pkg
prepare_dir "${cache_dir_pkg}"
repository='system'
[[ -z ${repos_local} ]] && repos_local="${workspace_dir}/repos"
repos_remote="/${repos_local##*/}"
@@ -133,9 +118,9 @@ init_artools_iso(){
prepare_dir "${cache_dir_iso}"
[[ -z ${profile} ]] && profile='base'
profile='base'
[[ -z ${dist_release} ]] && dist_release=$(get_release)
[[ -z ${dist_release} ]] && dist_release=$(date +%Y%m%d)
dist_name=$(get_distname)