Compare commits

...

69 Commits
0.6.1 ... 0.6.4

Author SHA1 Message Date
artoo
16fd97e2d3 Merge pull request #36 from artix-linux/devel
Devel
2018-01-08 16:50:56 +01:00
udeved
25808c8034 util-iso-publish: fix webseed url 2018-01-08 16:50:09 +01:00
udeved
d87aade54b imports: add argon2 2018-01-08 16:49:43 +01:00
udeved
37aa3c1c65 findupdate: fix path 2017-12-27 15:37:51 +01:00
udeved
c870472267 util-pkg-tree: sed the kernel modules
update galaxy imports
2017-12-20 15:51:30 +01:00
udeved
563e2bbc4a util-iso-yaml: always write unpack 2017-12-19 15:29:05 +01:00
udeved
6463779536 buildiso,deployiso: make iso pool configurable 2017-12-19 00:50:48 +01:00
udeved
8b98c6cac9 buildiso:
* remove netinstall switch
* iso grub accepts now unpack=yes to disable netinstall and to unsquash images
2017-12-19 00:33:45 +01:00
udeved
a47c8e1a44 Merge branch 'devel' of github.com:artix-linux/artools into devel 2017-12-18 20:19:53 +01:00
udeved
c7cf6c05a0 update import lists 2017-12-18 20:19:35 +01:00
udeved
5c4406a19a base: add opentmpfiles 2017-12-18 20:19:04 +01:00
udeved
5a1105302a buidiso: add option to add custom kernel args 2017-12-17 17:09:03 +01:00
udeved
6a376c8b65 data: update base profile 2017-12-13 22:55:37 +01:00
udeved
bfbbd12316 util-iso*:
* clean up;
* worth to consider a kernel paramater which runs in live session to set unsquash in calamares optionally
2017-12-13 22:45:13 +01:00
udeved
c51d75acf0 buildiso: reiplement configuring calamares image unsquashing 2017-12-13 16:02:22 +01:00
udeved
11ea38fe32 deploypkg: fix find_cached_package() and clean up 2017-12-10 19:23:32 +01:00
udeved
55b9b69859 Merge branch 'devel' of github.com:artix-linux/artools into devel 2017-12-10 18:19:48 +01:00
udeved
d2ae040e45 deploypkg: temporarily disable switch for pushing to GH 2017-12-10 18:19:37 +01:00
udeved
691c401251 util-pkg: try to fix find_cached_package() 2017-12-10 14:29:38 +01:00
udeved
8861b9c8f8 util-pkg-tree: fix show_version_table() 2017-12-09 21:45:43 +01:00
udeved
c74dda6e53 update world import list and comment packages bumped out of cycle 2017-12-07 19:47:07 +01:00
udeved
da54be8ea2 buildtree: show src and dest import path 2017-12-07 19:46:29 +01:00
udeved
6551d66a99 update world imports 2017-11-30 19:00:25 +01:00
udeved
8ed2464c5f Merge branch 'devel' of github.com:artix-linux/artools into devel 2017-11-30 18:44:09 +01:00
udeved
f2006adfaa adopt new multilib toolchain 2017-11-30 18:43:46 +01:00
udeved
fe3bd6296f buildpkg: add multilib chroot switch 2017-11-28 20:19:51 +01:00
udeved
4ac466a83e util-yaml: drop linux.preset 2017-11-27 22:18:44 +01:00
udeved
c76a29eaf7 buildiso, buildpkg: use case statement to easily add staging on demand 2017-11-27 22:06:25 +01:00
udeved
4b7ff99b98 remove i686 config 2017-11-27 21:48:34 +01:00
udeved
e034e965d3 fstabgen: arch backport 2017-11-27 21:47:34 +01:00
udeved
e4bb309841 buildiso, buildpkg, deployiso: remove i686 config files and assume x86_64 default
* arch merged lib32 toolchain in core toolchain builds, we need to see where lib32 ends up on arch
* arch has new lib in testing not in multilib
the multilib-devel group seems to be scrapped
2017-11-27 20:41:39 +01:00
udeved
7d207257f7 util-iso-profile: readd audio group to addGroups 2017-11-27 20:38:15 +01:00
udeved
ec10df53b8 update import lists 2017-11-23 17:37:38 +01:00
udeved
d32d254632 util-pkg-publish: print info msgs for checks 2017-11-15 01:01:02 +01:00
udeved
793721249a world import: add python packages 2017-11-15 00:44:03 +01:00
udeved
acd9ee7e28 util-pkg-publish: add some checks of the deployed package 2017-11-15 00:43:20 +01:00
udeved
c9337155e1 Merge branch 'devel' of github.com:artix-linux/artools into devel 2017-11-14 23:19:59 +01:00
udeved
8f1da6d4fb update world import list 2017-11-14 23:19:38 +01:00
udeved
1ab0e41426 update system import list 2017-11-14 14:41:19 +01:00
udeved
6f01896066 impoet list: add glade 2017-11-14 00:28:20 +01:00
udeved
cba60d97c6 update world import list 2017-11-13 15:56:59 +01:00
nous
4ba2a309c0 added dovecot, pigeonhole then sorted list 2017-11-13 00:01:06 +02:00
nous
6193ad59b2 add libidn2 2017-11-12 23:58:10 +02:00
udeved
b2c1c3288b update import lists 2017-11-07 16:47:19 +01:00
udeved
84242b79d0 update world and galaxy import lists 2017-11-07 11:23:43 +01:00
udeved
6039f88715 update world import list 2017-11-06 22:42:52 +01:00
udeved
54cb15f3a2 update import lists 2017-11-06 18:14:18 +01:00
artoo
13f63047a2 Merge pull request #34 from artix-linux/devel
Devel
2017-11-05 23:24:34 +01:00
udeved
7cc0c0c86a buildtree: default to system repo 2017-11-05 23:23:58 +01:00
udeved
327be3b735 update world and galaxy import lists 2017-11-05 23:20:34 +01:00
udeved
6e20fc6d07 update import lists 2017-11-05 08:08:59 +01:00
udeved
8436f0cafb update import list 2017-11-03 22:32:53 +01:00
udeved
1ded762a78 use makepkg library instead of local function copies 2017-11-03 18:41:21 +01:00
udeved
f3ac8b8679 mkchrootpkg: move init_variables() to be part of main() 2017-11-03 18:39:58 +01:00
udeved
622f426686 util-pkg-tree: use find to delete patches 2017-10-21 14:20:00 +02:00
udeved
07ee48ff72 buildtree: add patches repo subdir 2017-10-21 13:45:30 +02:00
udeved
1728682147 buildiso: use strong hash algo for sfs checksums 2017-10-21 13:45:01 +02:00
udeved
710d615cbb libs: rm global log_dir and tmp_dir 2017-10-15 18:57:05 +02:00
udeved
a305eac6ce deployiso: fix uplimit 2017-10-15 17:50:58 +02:00
udeved
b964b729cc util-pkg-tree: rm useless if 2017-10-14 10:29:17 +02:00
udeved
6d5b4d45dd buildtree: small fixes 2017-10-14 10:27:45 +02:00
artoo
a98a7b5100 Merge pull request #33 from artix-linux/devel
Devel
2017-10-11 21:57:15 +02:00
udeved
3c80f711da util-pkg-tree: clean up import 2017-10-10 20:02:33 +02:00
udeved
501272464b buildtree: sync repos in loop 2017-10-10 02:39:57 +02:00
udeved
c6ddda2773 Merge branch 'devel' of github.com:artix-linux/artools into devel 2017-10-10 02:09:32 +02:00
udeved
2bed948636 buildtree: remove repo loop; add repository optarg 2017-10-10 02:09:03 +02:00
udeved
98c1d950f8 util-pkg-publish: handle llvm case 2017-10-07 17:47:16 +02:00
udeved
6941b3ce3b signfile: remove hellhound 2017-10-07 17:46:37 +02:00
udeved
1972ee936e update import list 2017-10-06 20:08:36 +02:00
35 changed files with 677 additions and 805 deletions

View File

@@ -22,7 +22,7 @@ LIBS_BASE = \
lib/util-fstab.sh
SHARED_BASE = \
$(wildcard data/pacman-*.conf)
$(wildcard data/pacman*.conf)
LIST_IMPORT = \
$(wildcard data/import.list.d/*.list)
@@ -42,7 +42,7 @@ LIBS_PKG = \
$(wildcard lib/util-pkg*.sh)
SHARED_PKG = \
$(wildcard data/makepkg-*.conf)
data/makepkg.conf
PATCHES = \
$(wildcard data/patches/*.patch)
@@ -55,8 +55,7 @@ LIBS_ISO = \
$(wildcard lib/util-iso*.sh)
SHARED_ISO = \
data/mkinitcpio.conf \
data/linux.preset
data/mkinitcpio.conf
CPIOHOOKS = \
$(wildcard initcpio/hooks/*)

View File

@@ -26,24 +26,21 @@ prepare_build(){
netgroups=${netgroups_url}/netgroups-${initsys}.yaml
local pac_arch='default' pacman_conf pac_conf
[[ "${target_arch}" == 'x86_64' ]] && pac_arch='lib32'
local pacman_conf pac_file="pacman.conf"
if [[ ${stablility} == 'buildiso' ]];then
pac_conf=$pac_arch
else
pac_conf=$pac_arch-${stablility}
fi
case "${stablility}" in
'testing') pac_file="pacman-${stablility}.conf" ;;
esac
pacman_conf="${DATADIR}/pacman-$pac_conf.conf"
[[ -f $AT_USERCONFDIR/pacman-$pac_conf.conf ]] && pacman_conf="$AT_USERCONFDIR/pacman-$pac_conf.conf"
pacman_conf="${DATADIR}/$pac_file"
[[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
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_dir="${iso_pool}/${profile}"
iso_root=${chroots_iso}/${profile}/iso
mnt_dir=${chroots_iso}/${profile}/mnt
@@ -75,10 +72,10 @@ display_settings(){
msg "OPTIONS:"
msg2 "profile: %s" "${profile}"
msg2 "arch: %s" "${target_arch}"
msg2 "initsys: %s" "${initsys}"
msg2 "kernel: %s" "${kernel}"
[[ -n ${gpgkey} ]] && msg2 "gpgkey: %s" "${gpgkey}"
msg2 "stablility: %s" "${stablility}"
msg "ARGS:"
msg2 "clean_first: %s" "${clean_first}"
@@ -146,11 +143,10 @@ stablility=${cmd##*-}
usage() {
echo "Usage: ${0##*/} [options]"
echo " -p <profile> Profile [default: ${profile}]"
echo " -a <arch> Arch [default: ${target_arch}]"
echo ' -r <dir> Chroots directory'
echo " [default: ${chroots_iso}]"
echo ' -t <dir> Target directory'
echo " [default: ${cache_dir_iso}]"
echo " [default: ${iso_pool}]"
echo ' -k <name> Kernel to use'
echo " [default: ${kernel}]"
echo ' -i <name> Init system to use'
@@ -172,14 +168,13 @@ usage() {
orig_argv=("$0" "$@")
opts='p:a:r:t:k:i:g:czxmvqh'
opts='p:r:t:k:i:g:czxmvqh'
while getopts "${opts}" arg; do
case "${arg}" in
p) profile="$OPTARG" ;;
a) target_arch="$OPTARG" ;;
r) chroots_iso="$OPTARG" ;;
t) cache_dir_iso="$OPTARG" ;;
t) iso_pool="$OPTARG" ;;
k) kernel="$OPTARG" ;;
i) initsys="$OPTARG" ;;
g) gpgkey="$OPTARG" ;;

View File

@@ -23,7 +23,6 @@ import ${LIBDIR}/util-chroot.sh
import ${LIBDIR}/util-pkg.sh
show_pkg(){
check_build "$1"
cd $1
source PKGBUILD
for n in ${pkgname[@]}; do
@@ -37,7 +36,6 @@ display_settings(){
show_config
msg "OPTIONS:"
msg2 "arch: %s" "${target_arch}"
msg2 "chroots_pkg: %s" "${chroots_pkg}"
msg2 "repository: %s" "${repository}"
msg2 "stablility: %s" "${stablility}"
@@ -57,6 +55,7 @@ load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artoo
create_first=false
pretend=false
lib32=false
mkchroot_args=()
mkchrootpkg_args=(-c -n)
@@ -70,27 +69,21 @@ repository=${PWD##*/}
base_devel=('base-devel')
prepare_build(){
local pac_arch='default' pac_conf=
local pac_file='pacman.conf' mp_file='makepkg.conf'
if [[ "${target_arch}" == 'lib32' ]];then
pac_arch='lib32'
base_devel+=('multilib-devel')
fi
case "${stablility}" in
'testing') pac_file="pacman-${stablility}.conf" ;;
esac
if [[ ${stablility} == 'buildpkg' ]];then
pac_conf=$pac_arch
else
pac_conf=$pac_arch-${stablility}
fi
${lib32} && base_devel+=('multilib-devel')
[[ "$pac_arch" == 'lib32' ]] && target_arch='x86_64'
local pacman_conf="${DATADIR}/$pac_file"
[[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
local pacman_conf="${DATADIR}/pacman-$pac_conf.conf"
[[ -f $AT_USERCONFDIR/pacman-$pac_conf.conf ]] && pacman_conf="$AT_USERCONFDIR/pacman-$pac_conf.conf"
work_dir="${chroots_pkg}/${repository}-${target_arch}"
local makepkg_conf="${DATADIR}/makepkg-${target_arch}.conf"
[[ -f $AT_USERCONFDIR/makepkg-${target_arch}.conf ]] && makepkg_conf="$AT_USERCONFDIR/makepkg-${target_arch}.conf"
local makepkg_conf="${DATADIR}/$mp_file"
[[ -f $AT_USERCONFDIR/$mp_file ]] && makepkg_conf="$AT_USERCONFDIR/$mp_file"
mkchroot_args+=(-C "${pacman_conf}" -M "${makepkg_conf}" "${work_dir}/root")
@@ -114,10 +107,10 @@ build(){
usage() {
echo "Usage: ${0##*/} [options] -- [makepkg_args]"
echo " -p <pkg> Package to build [default: ${package}]"
echo " -a <arch> Arch [default: ${target_arch}]"
echo " -r <dir> Chroots directory [default: ${chroots_pkg}]"
echo ' -z <repo> Repo name'
echo ' -c Create root chroot'
echo ' -m Multilib chroot'
echo ' -q Query settings and pretend build'
echo ' -h This help'
echo ''
@@ -128,15 +121,15 @@ usage() {
orig_argv=("$0" "$@")
opts='p:a:r:z:cqh'
opts='p:r:z:cmqh'
while getopts "${opts}" arg; do
case "${arg}" in
p) package="$OPTARG" ;;
a) target_arch="$OPTARG" ;;
r) chroots_pkg="$OPTARG" ;;
z) repository="$OPTARG" ;;
c) create_first=true ;;
m) lib32=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '%s'" "${arg}"; usage 1 ;;

View File

@@ -25,20 +25,23 @@ display_settings(){
show_config
msg "REPOS:"
msg2 "repo_tree_arch: %s" "${repo_tree_arch[*]}"
msg2 "repo_tree_artix: %s" "${repo_tree_artix[*]}"
msg2 "repo_tree_arch: %s" "${repo_tree_arch[*]}"
msg "OPTIONS:"
msg2 "repository: %s" "${repository}"
msg "ARGS:"
msg2 "artix: %s" "${artix}"
msg2 "arch: %s" "${arch}"
msg2 "compare: %s" "${compare}"
msg2 "import_arch: %s" "${import_arch}"
msg2 "gitpush: %s" "${gitpush}"
# msg2 "gitpush: %s" "${gitpush}"
msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
msg2 "tree_dir_arch: %s" "${tree_dir_arch}"
msg2 "patches_dir: %s" "${patches_dir}"
msg2 "patches_dir: %s" "${patches_dir}/${repository}"
}
load_user_info
@@ -50,17 +53,19 @@ arch=false
artix=false
compare=false
import_arch=false
gitpush=false
# gitpush=false
repository='system' #${PWD##*/}
rsync_args=(-aWxv --progress --delete-before --no-R --no-implied-dirs)
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
usage() {
echo "Usage: ${0##*/} [options]"
echo " -r <repo> Repository [default:${repository}]"
echo " -a Sync arch tree"
echo " -s Sync artix tree"
echo " -c Compare artix and arch versions"
echo ' -i Import arch packages'
echo ' -p Push import packages'
# echo ' -p Push import packages'
echo ' -q Query settings'
echo ' -h This help'
echo ''
@@ -70,15 +75,17 @@ usage() {
orig_argv=("$0" "$@")
opts='aipscqh'
# opts='r:aipscqh'
opts='r:aiscqh'
while getopts "${opts}" arg; do
case "${arg}" in
r) repository="$OPTARG" ;;
a) arch=true ;;
s) artix=true ;;
c) compare=true ;;
i) import_arch=true ;;
p) gitpush=true ;;
# p) gitpush=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
@@ -89,7 +96,7 @@ shift $(($OPTIND - 1))
prepare_dir "${tree_dir_artix}"
prepare_dir "${tree_dir_arch}"
prepare_dir "${patches_dir}"
prepare_dir "${patches_dir}/${repository}"
${pretend} && display_settings && exit 1
@@ -97,6 +104,6 @@ ${artix} && sync_tree_artix
${arch} && sync_tree_arch
${compare} && show_version_table
${compare} && show_version_table "${repository}"
${import_arch} && import_from_arch ${gitpush}
${import_arch} && import_from_arch "${repository}" #"${gitpush}"

View File

@@ -78,7 +78,7 @@ opts='p:l:uvtqh'
while getopts "${opts}" arg; do
case "${arg}" in
p) profile="$OPTARG" ;;
l) limit="$OPTARG" ;;
l) uplimit="$OPTARG" ;;
u) update=true; rsync_args+=(-u) ;;
t) torrent=true ;;
v) verbose=true; rsync_args+=(-v --stats) ;;

View File

@@ -31,7 +31,7 @@ for repo in ${repo_tree_artix[@]}; do
source $pkg/PKGBUILD 2>/dev/null
package=${pkg##*/}
artixver=$(get_full_version $package)
set_import_path "$repo" "$package"
src=$(get_import_path "$repo" "$package")
if [[ -f $src/PKGBUILD ]];then
source $src/PKGBUILD 2>/dev/null
archver=$(get_full_version $package)

View File

@@ -64,6 +64,13 @@ optstring_apply_quirks() {
# one might install Arch from a Fedora environment), so let's remove it.
optstring_remove_option "$varname" seclabel
# Prune 'relatime' option for any pseudofs. This seems to be a rampant
# default which the kernel often exports even if the underlying filesystem
# doesn't support it. Example: https://bugs.archlinux.org/task/54554.
if awk -v fstype="$fstype" '$1 == fstype { exit 1 }' /proc/filesystems; then
optstring_remove_option "$varname" relatime
fi
case $fstype in
f2fs)
# These are Kconfig options for f2fs. Kernels supporting the options will

View File

@@ -19,29 +19,6 @@ import ${LIBDIR}/util-chroot.sh
shopt -s nullglob
init_variables() {
default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg)
makepkg_args=("${default_makepkg_args[@]}")
keepbuilddir=false
update_first=false
clean_first=false
run_namcap=false
temp_chroot=false
chrootdir=
passeddir=
makepkg_user=
declare -ga install_pkgs
declare -gi ret=0
bindmounts_ro=()
bindmounts_rw=()
copy=$USER
[[ -n ${SUDO_USER:-} ]] && copy=$SUDO_USER
[[ -z "$copy" || $copy = root ]] && copy=copy
src_owner=${SUDO_USER:-$USER}
}
usage() {
echo "Usage: ${0##*/} [options] -r <chrootdir> [--] [makepkg args]"
echo ' Run this script in a PKGBUILD dir to build a package inside a'
@@ -293,7 +270,26 @@ move_products() {
orig_argv=("$0" "$@")
main() {
init_variables
default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg)
makepkg_args=("${default_makepkg_args[@]}")
keepbuilddir=false
update_first=false
clean_first=false
run_namcap=false
temp_chroot=false
chrootdir=
passeddir=
makepkg_user=
declare -ga install_pkgs
declare -gi ret=0
bindmounts_ro=()
bindmounts_rw=()
copy=$USER
[[ -n ${SUDO_USER:-} ]] && copy=$SUDO_USER
[[ -z "$copy" || $copy = root ]] && copy=copy
src_owner=${SUDO_USER:-$USER}
local opts='hcur:I:l:nTD:d:U:'

View File

@@ -16,6 +16,8 @@ LIBDIR='@libdir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
load_user_info
load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
load_vars /etc/makepkg.conf
@@ -30,9 +32,5 @@ msg2 "Signing [%s] with key %s" "${file_to_sign##*/}" "${GPGKEY}..."
if [[ -n "${BUILDBOT_GPGP}" ]]; then
gpg --batch --passphrase "${BUILDBOT_GPGP}" --detach-sign "$file_to_sign"
else
if [[ -f /usr/bin/hellhound ]]; then
gpg --batch --passphrase $(hellhound retrieve) --detach-sign "$file_to_sign"
else
gpg --detach-sign --use-agent -u "${GPGKEY}" "$file_to_sign"
fi
gpg --detach-sign --use-agent -u "${GPGKEY}" "$file_to_sign"
fi

View File

@@ -2,9 +2,6 @@
################ artools-base ###############
#############################################
# default taget arch: auto detect
# target_arch=$(uname -m)
# build dir where buildpkg or buildiso chroots are created
# chroots_dir=/var/lib/artools
@@ -32,6 +29,9 @@
################ artools-iso ################
#############################################
# the iso storage directory
# iso_pool="${workspace_dir}/iso"
# the dist release; default: auto
# iso_version=$(date +%Y%m%d)
@@ -41,11 +41,14 @@
# unset defaults to given value
# kernel="linux-lts"
# custom additional kernel args
# kernel_args=""
# gpg key; leave empty or commented to skip sfs signing
# gpgkey=""
# set upload bandwidth limit in kB/s
# limit=100
# uplimit=100
# the torrent tracker urls, comma separated
# tracker_url='udp://mirror.strits.dk:6969'

View File

@@ -6,4 +6,3 @@ artix-live-portable-efi
virtualbox-guest-modules-artix
virtualbox-guest-utils
linux-lts-headers

View File

@@ -59,6 +59,7 @@ ntfs-3g
>openrc nfs-utils-openrc
>openrc rsync-openrc
>openrc wpa_supplicant-openrc
>openrc opentmpfiles
os-prober
pacman
pciutils
@@ -77,7 +78,7 @@ texinfo
usbutils
util-linux
which
>x86_64 efibootmgr
efibootmgr
xfsprogs
zd1211-firmware
zsh

View File

@@ -1,12 +1,34 @@
autoconf-archive
cmocka
confuse
dovecot
hub
hwinfo
jansson
libappindicator
libbson
libdbi
libdbusmenu
libftdi
libindicator
libdbi
libpgm
libsodium
zeromq
jansson
libmongoc
libnewt
libpgm
libreplaygain
libsass
libsodium
libx86emu
ninja
pigeonhole
portaudio
sassc
yaml-cpp
zeromq
acpi_call
r8168
tp_smapi
acpi_call-lts
r8168-lts
tp_smapi-lts
virtualbox
virtualbox-guest-iso

View File

@@ -1,3 +1,2 @@
lib32-glibc
gcc-multilib
llvm
lib32-fakeroot
lib32-libltdl

View File

@@ -23,6 +23,7 @@ gdbm
xz
zlib
file
zstd
icu
perl
openssl
@@ -44,6 +45,7 @@ libgcrypt
libgpg-error
libgssglue
libidn
libidn2
libksba
libmnl
libmpc
@@ -53,6 +55,7 @@ libnl
libpcap
libpipeline
libpsl
libidn2
librpcsecgss
libseccomp
libsecret
@@ -96,7 +99,7 @@ iw
jfsutils
kbd
keyutils
licenses
#licenses
links
linux-atm
linux-firmware
@@ -126,7 +129,7 @@ pth
reiserfsprogs
run-parts
sdparm
s-nail
# s-nail
sqlite
sysfsutils
syslinux
@@ -149,3 +152,4 @@ ipw2200-fw
isdn4k-utils
curl
sudo
argon2

View File

@@ -1,48 +1,242 @@
a52dec
aalib
adwaita-icon-theme
alsa-firmware
alsa-lib
#alsa-utils
apr
apr-util
aspell
assimp
atk
at-spi2-atk
at-spi2-core
babl
bc
boost
brltty
cairo
cantarell-fonts
cdparanoia
check
cifs-utils
cln
cmake
extra-cmake-modules
compositeproto
convertlit
cpio
damageproto
dbus-glib
dbus-python
dcadec
dconf
desktop-file-utils
dkms
docbook-dsssl
docbook-sgml31
docbook-utils
docbook-xml
docbook-xsl
dotconf
double-conversion
doxygen
ebook-tools
editorconfig-core-c
exiv2
faad2
ffmpeg
ffmpeg2.8
fftw
fixesproto
flac
fontconfig
fontsproto
freetype2
fribidi
fuse2
fuse3
gamin
gc
gcab
gconf
gcr
gd
gdb
gdk-pixbuf2
gegl02
ghostscript
giblib
giflib
glade
glib-networking
glu
gnome-common
gobject-introspection
gperf
gperftools
gptfdisk
grantlee
graphite
graphviz
gsettings-desktop-schemas
gsfonts
gsm
gst-plugins-base
gst-plugins-good
gstreamer
gtk2
gtk3
gtk-doc
gtksourceview3
gts
guile
guile2.0
harfbuzz
hicolor-icon-theme
hunspell
hyphen
ijs
ilmbase
imagemagick
imlib2
iniparser
inputproto
intltool
iso-codes
itstool
jack
jasper
java8-openjdk
java-common
jbig2dec
jemalloc
js
# json-c
jsoncpp
json-glib
kbproto
lame
lapack
lcms
lcms2
ldb
libaccounts-glib
libaccounts-qt
libao
libass
libasyncns
libblockdev
libatomic_ops
libavc1394
libbluray
libbsd
libburn
libbytesize
libcaca
libcanberra
libcap-ng
libcddb
libcdio
libcdio-paranoia
# libconfig
libcroco
libcue
libdaemon
libdatrie
libdbusmenu-qt
libdca
libdmtx
libdrm
libdv
libdvbpsi
libdvdcss
libdvdnav
libdvdread
libebml
libepoxy
libevdev
libexif
libfontenc
libgee
libgit2
libglade
libglvnd
libgphoto2
libgusb
libical
libice
libid3tag
libiec61883
libieee1284
libimobiledevice
libiscsi
libisoburn
libisofs
libjpeg-turbo
liblouis
liblqr
libmad
libmatroska
libmng
libmodplug
libmpeg2
libmspack
libmtp
libndp
libnotify
# libogg
libomxil-bellagio
libpaper
libpciaccess
libplist
libpng
libproxy
libpwquality
libqalculate
libqmi
libraqm
# libraw1394
librsvg
libsamplerate
libshout
libsigc++
libsigsegv
libsm
libthai
# libsndfile
libsoup
libsoxr
libspiro
libsrtp
libssh
libtar
# libthai
libtheora
libtiff
libtommath
libtxc_dxtn
libunwind
libupnp
libusb-compat
libusbmuxd
libutempter
libuv
libva
libvdpau
libvisual
libvorbis
libvpx
libwebp
libwmf
libx11
libxau
# libxau
libxaw
libxcb
# libxcb
libxcomposite
libxcursor
libxdamage
libxdmcp
# libxdmcp
libxext
libxfixes
libxfont
libxfont2
libxft
libxi
@@ -54,23 +248,132 @@ libxmu
libxpm
libxrandr
libxrender
libxres
libxshmfence
libxslt
libxss
libxt
libxtst
libxv
libxvmc
libxxf86vm
libgusb
liblouis
libraqm
liblqr
libuv
libqmi
glib-networking
gsettings-desktop-schemas
slang
dhcp
dbus-python
libyaml
libzip
lirc
llvm
lmdb
lua
mesa
# meson
mailcap
mobile-broadband-provider-info
mtdev
muparser
musepack
namcap
nasm
network-manager-applet
noto-fonts
nss-mdns
ntfs-3g
# nvidia
# nvidia-settings
# nvidia-utils
ocl-icd
openal
opencore-amr
openexr
openjade
openjpeg
openjpeg2
opensp
opus
orc
orca
pango
parted
pcre2
perl-error
perl-file-which
perl-xml-parser
perl-yaml
phonon
phonon-gstreamer
pixman
polkit-qt
poppler
potrace
protobuf
pyalpm
pygobject
pygtk
# pylint
pyqt5
python
python2
# python2-backports
# python2-backports.functools_lru_cache
# python2-configparser
# python2-ipaddress
python-appdirs
python-asn1crypto
# python-astroid
python-attrs
# python-automat
python-beaker
python-cairo
# python-cffi
python-chardet
# python-constantly
# python-cryptography
python-cssselect
python-defusedxml
# python-editdistance
# python-egenix-mx-base
python-evdev
# python-feedparser
# python-fpconst
# python-gdata
# python-geoip
python-hyperlink
python-idna
# python-incremental
# python-isort
# python-iwscan
# python-lazy-object-proxy
# python-lxml
python-mako
python-markupsafe
# python-mccabe
# python-mpd
# python-nose
python-notify
python-numpy
python-packaging
python-pip
python-ply
python-pyasn1
# python-pyasn1-modules
# python-pycparser
# python-pycurl
python-pyelftools
# python-pygame
python-pyparsing
# python-rdflib
# python-requests
# python-retrying
# python-service-identity
python-setuptools
python-six
# python-soappy
# python-telepathy
# python-urllib3
python-urwid
python-virtualenv
# python-wpactrl
python-wrapt
# python-wstools
pyxdg
qt5-3d
qt5-canvas3d
qt5-charts
@@ -106,127 +409,117 @@ qt5-websockets
qt5-webview
qt5-x11extras
qt5-xmlpatterns
adwaita-icon-theme
alsa-lib
apr
apr-util
atk
at-spi2-atk
at-spi2-core
boost
cairo
cantarell-fonts
check
compositeproto
damageproto
dbus-glib
dconf
desktop-file-utils
docbook-dsssl
docbook-sgml31
docbook-utils
docbook-xml
docbook-xsl
double-conversion
doxygen
eventlog
fixesproto
fontconfig
fontsproto
freetype2
gd
gdk-pixbuf2
ghostscript
giflib
gnome-common
gobject-introspection
gptfdisk
graphite
graphviz
gsfonts
gtk3
gtk-doc
gts
harfbuzz
hicolor-icon-theme
ijs
inputproto
intltool
itstool
jasper
jbig2dec
json-glib
kbproto
lcms2
mesa
mtdev
net-snmp
openjade
opensp
pango
parted
pcre2
perl-error
perl-xml-parser
perl-yaml
pixman
python2
python
python-appdirs
python-beaker
python-mako
python-markupsafe
python-packaging
python-pyparsing
python-setuptools
python-six
randrproto
recordproto
renderproto
ruby
schroedinger
scrnsaverproto
sdl
sdl2
sdl_image
sdl_sound
serf
sgml-common
shared-mime-info
slang
snappy
snowball
socat
source-highlight
speech-dispatcher
speex
speexdsp
startup-notification
t1lib
taglib
talloc
tcl
tdb
tevent
texlive-bin
texlive-core
texlive-formatsextra
texlive-latexextra
texlive-pictures
texlive-science
tslib
ttf-bitstream-vera
ttf-dejavu
ttf-hack
ttf-indic-otf
unixodbc
unzip
#usbmuxd
v4l-utils
vala
valgrind
videoproto
vid.stab
volume_key
vte3
vte
vte3
wavpack
wayland
wayland-protocols
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
webrtc-audio-processing
wget
whois
wxgtk
x265
xapian-core
xbitmaps
# xcb-proto
# xcb-util
xcb-util-cursor
# xcb-util-image
# xcb-util-keysyms
# xcb-util-renderutil
# xcb-util-wm
xdg-utils
xextproto
xf86-input-libinput
xf86-video-dummy
xf86-video-fbdev
xf86-video-sisusb
xf86-video-vesa
xf86-video-vmware
xf86-video-voodoo
xf86vidmodeproto
xineramaproto
xkeyboard-config
xmlto
xorg-bdftopcf
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-font-util
xorg-font-utils
xorg-luit
xorg-mkfontdir
xorg-mkfontscale
xorg-setxkbmap
xorg-twm
xorg-util-macros
xorg-xauth
xorg-xinit
xorg-xkbcomp
xproto
xorg-xmessage
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xset
xorg-xsetroot
# xproto
xterm
xvidcore
yajl
yelp-tools
yelp-xsl
cmake
jemalloc
jsoncpp
fribidi
js
imagemagick
poppler
bc
xdg-utils
xf86-input-libinput
zip
zita-alsa-pcmi
zita-resampler
zsh
zvbi
zziplib

View File

@@ -1,14 +0,0 @@
# mkinitcpio preset file for the 'linux' package
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-@kernel@-@arch@"
PRESETS=('default' 'fallback')
#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-@kernel@-@arch@.img"
#default_options=""
#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-@kernel@-@arch@-fallback.img"
fallback_options="-S autodetect"

View File

@@ -1,147 +0,0 @@
#
# /etc/makepkg.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="i686"
CHOST="i686-pc-linux-gnu"
#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(!distcc color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- upx: Compress binary executable files using UPX
#-- optipng: Optimize PNG images with optipng
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'
# vim: set ft=sh ts=2 sw=2 et:

View File

@@ -1,101 +0,0 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Artix Linux
# packagers with `pacman-key --populate archlinux cromnix`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
[system-testing]
Include = /etc/pacman.d/mirrorlist
[system]
Include = /etc/pacman.d/mirrorlist
[world-testing]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy-testing]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
[testing]
Include = /etc/pacman.d/mirrorlist-arch
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -1,86 +0,0 @@
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Artix Linux
# packagers with `pacman-key --populate archlinux cromnix`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
[system]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -102,7 +102,7 @@ _mnt_dev() {
_verify_checksum() {
local _status
cd "/run/artix/bootmnt/${artixbasedir}/${arch}"
md5sum -c $1.md5 > /tmp/checksum.log 2>&1
sha512sum -c $1.sha512 > /tmp/checksum.log 2>&1
_status=$?
cd "${OLDPWD}"
return ${_status}
@@ -160,7 +160,7 @@ artix_mount_handler() {
if [[ "${checksum}" == "y" ]]; then
for fs in rootfs desktopfs livefs;do
if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.sfs" ]]; then
if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.md5" ]]; then
if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.sha512" ]]; then
msg -n ":: Self-test requested, please wait..."
if _verify_checksum "${fs}"; then
msg "done. Checksum is OK, continue booting."
@@ -170,7 +170,7 @@ artix_mount_handler() {
launch_interactive_shell
fi
else
echo "ERROR: checksum=y option specified but ${artixbasedir}/${arch}/${fs}.md5 not found"
echo "ERROR: checksum=y option specified but ${artixbasedir}/${arch}/${fs}.sha512 not found"
launch_interactive_shell
fi
fi

View File

@@ -13,6 +13,7 @@ declare -A pseudofs_types=([anon_inodefs]=1
[bdev]=1
[binfmt_misc]=1
[cgroup]=1
[cgroup2]=1
[configfs]=1
[cpuset]=1
[debugfs]=1
@@ -72,7 +73,7 @@ valid_number_of_base() {
mangle() {
local i= chr= out=
unset {a..f} {A..F}
local {a..f}= {A..F}=
for (( i = 0; i < ${#1}; i++ )); do
chr=${1:i:1}
@@ -91,7 +92,7 @@ mangle() {
unmangle() {
local i= chr= out= len=$(( ${#1} - 4 ))
unset {a..f} {A..F}
local {a..f}= {A..F}=
for (( i = 0; i < len; i++ )); do
chr=${1:i:1}

View File

@@ -52,6 +52,7 @@ configure_grub(){
sed -e "s|@arch@|${target_arch}|g" \
-e "s|@iso_label@|${iso_label}|" \
-e "s|@iso_name@|${iso_name}|g" \
-e "s|@kernel_args@|${kernel_args}|g" \
-i $conf
}

View File

@@ -44,7 +44,7 @@ load_profile(){
[[ -z ${password} ]] && password="artix"
if [[ -z ${addgroups} ]];then
addgroups="video,power,storage,optical,network,lp,scanner,wheel,users"
addgroups="video,power,storage,optical,network,lp,scanner,wheel,users,audio"
fi
if [[ -z ${openrc_boot[@]} ]];then
@@ -84,9 +84,8 @@ write_live_session_conf(){
echo "addgroups='${addgroups}'" >> ${conf}
}
# $1: file name
load_pkgs(){
local pkglist="$1" arch="$2" init="$3" _kv="$4"
local pkglist="$1" init="$2" _kv="$3"
info "Loading Packages: [%s] ..." "${pkglist##*/}"
local _init="s|>$init||g"
@@ -96,13 +95,6 @@ load_pkgs(){
'runit') _init_rm1="s|>s6.*||g"; _init_rm2="s|>openrc.*||g" ;;
esac
local _arch="s|>x86_64||g" _arch_rm="s|>i686.*||g"
if [[ "$arch" == 'i686' ]];then
_arch="s|>i686||g"
_arch_rm="s|>x86_64.*||g"
fi
local _blacklist="s|>blacklist.*||g" \
_kernel="s|KERNEL|$_kv|g" \
_space="s| ||g" \
@@ -116,8 +108,6 @@ load_pkgs(){
| sed "$_init" \
| sed "$_init_rm1" \
| sed "$_init_rm2" \
| sed "$_arch" \
| sed "$_arch_rm" \
| sed "$_kernel" \
| sed "$_clean"))
}

View File

@@ -17,7 +17,7 @@ connect(){
gen_webseed(){
local webseed seed="$1"
for mirror in ${host_mirrors[@]};do
webseed=${webseed:-}${webseed:+,}"http://${mirror}.dl.${seed}"
webseed=${webseed:-}${webseed:+,}"https://${mirror}.dl.${seed}"
done
echo ${webseed}
}
@@ -27,9 +27,10 @@ make_torrent(){
if [[ -n $(find ${src_dir} -type f -name "*.iso") ]]; then
for iso in $(ls ${src_dir}/*.iso);do
local seed=${file_host}/project/${project}/${target_dir}/${iso##*/}
local seed=${file_host}/project/${project}${target_dir}${iso##*/}
local mktorrent_args=(-c "${torrent_meta}" -p -l ${piece_size} -a ${tracker_url} -w $(gen_webseed ${seed}))
${verbose} && mktorrent_args+=(-v)
info "mktorrent_args: %s" "${mktorrent_args[@]}"
msg2 "Creating (%s) ..." "${iso##*/}.torrent"
mktorrent ${mktorrent_args[*]} -o ${iso}.torrent ${iso}
done
@@ -38,7 +39,7 @@ make_torrent(){
prepare_transfer(){
target_dir="/iso/${profile}/"
src_dir="${cache_dir_iso}/${profile}/"
src_dir="${iso_pool}/${profile}/"
${torrent} && make_torrent
}

View File

@@ -9,24 +9,14 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
get_preset(){
local p=${tmp_dir}/${kernel}.preset
cp ${DATADIR}/linux.preset $p
sed -e "s|@kernel@|$kernel|g" \
-e "s|@arch@|${target_arch}|g"\
-i $p
echo $p
}
write_bootloader_conf(){
local conf="$1/bootloader.conf" efi_boot_loader='grub'
local conf="$1/bootloader.conf"
msg2 "Writing %s ..." "${conf##*/}"
source "$(get_preset)"
echo '---' > "$conf"
echo "efiBootLoader: \"${efi_boot_loader}\"" >> "$conf"
echo "kernel: \"${ALL_kver#*/boot}\"" >> "$conf"
echo "img: \"${default_image#*/boot}\"" >> "$conf"
echo "fallback: \"${fallback_image#*/boot}\"" >> "$conf"
echo "efiBootLoader: \"grub\"" >> "$conf"
echo "kernel: \"/vmlinuz-$kernel-${target_arch}\"" >> "$conf"
echo "img: \"/initramfs-$kernel-${target_arch}.img\"" >> "$conf"
echo "fallback: \"/initramfs-$kernel-${target_arch}-fallback.img\"" >> "$conf"
echo 'timeout: "10"' >> "$conf"
echo "kernelLine: \", with ${kernel}\"" >> "$conf"
echo "fallbackKernelLine: \", with ${kernel} (fallback initramfs)\"" >> "$conf"
@@ -86,17 +76,33 @@ write_netinstall_conf(){
echo "groupsUrl: ${netgroups}" >> "$conf"
}
write_unpack_conf(){
local conf="$1/unpackfs.conf"
msg2 "Writing %s ..." "${conf##*/}"
echo "---" > "$conf"
echo "unpack:" >> "$conf"
echo " - source: \"/run/${iso_name}/bootmnt/${iso_name}/${target_arch}/rootfs.sfs\"" >> "$conf"
echo " sourcefs: \"squashfs\"" >> "$conf"
echo " destination: \"\"" >> "$conf"
if [[ -f "${desktop_list}" ]] ; then
echo " - source: \"/run/${iso_name}/bootmnt/${iso_name}/${target_arch}/desktopfs.sfs\"" >> "$conf"
echo " sourcefs: \"squashfs\"" >> "$conf"
echo " destination: \"\"" >> "$conf"
fi
}
configure_calamares(){
local modules_dir="$1"
if [[ -d $modules_dir ]];then
local dest="$1" mods="$1/etc/calamares/modules"
if [[ -d $dest/etc/calamares/modules ]];then
info "Configuring [Calamares]"
write_users_conf "$modules_dir"
write_netinstall_conf "$modules_dir"
write_initcpio_conf "$modules_dir"
write_netinstall_conf "$mods"
write_unpack_conf "$mods"
write_users_conf "$mods"
write_initcpio_conf "$mods"
case ${initsys} in
'openrc') write_servicescfg_conf "$modules_dir" ;;
'openrc') write_servicescfg_conf "$mods" ;;
esac
write_bootloader_conf "$modules_dir"
write_bootloader_conf "$mods"
info "Done configuring [Calamares]"
fi
}

View File

@@ -86,9 +86,9 @@ error_function() {
# $1: function
run_log(){
local func="$1"
local func="$1" log_dir='/var/log/artools'
local logfile=${log_dir}/$(gen_iso_fn).$func.log
logpipe=$(mktemp -u "${tmp_dir}/$func.pipe.XXXXXXXX")
logpipe=$(mktemp -u "/tmp/$func.pipe.XXXXXXXX")
mkfifo "$logpipe"
tee "$logfile" < "$logpipe" &
local teepid=$!
@@ -245,7 +245,7 @@ configure_live_image(){
configure_hosts "$fs"
configure_system "$fs"
configure_services "$fs"
configure_calamares "$fs/etc/calamares/modules"
configure_calamares "$fs"
write_live_session_conf "$fs"
msg "Done configuring [livefs]"
}
@@ -262,9 +262,9 @@ make_sig () {
make_checksum(){
local idir="$1" file="$2"
msg2 "Creating md5sum ..."
msg2 "Creating sha512sum ..."
cd $idir
md5sum $file.sfs > $file.md5
sha512sum $file.sfs > $file.sha512
cd ${OLDPWD}
}
@@ -282,8 +282,8 @@ make_sfs() {
msg "Generating SquashFS image for %s" "${src}"
if [[ -f "${sfs}" ]]; then
local has_changed_dir=$(find ${src} -newer ${sfs})
msg2 "Possible changes for %s ..." "${src}" >> ${tmp_dir}/buildiso.debug
msg2 "%s" "${has_changed_dir}" >> ${tmp_dir}/buildiso.debug
msg2 "Possible changes for %s ..." "${src}" >> /tmp/buildiso.debug
msg2 "%s" "${has_changed_dir}" >> /tmp/buildiso.debug
if [[ -n "${has_changed_dir}" ]]; then
msg2 "SquashFS image %s is not up to date, rebuilding..." "${sfs}"
rm "${sfs}"
@@ -524,14 +524,14 @@ compress_images(){
prepare_images(){
local timer=$(get_timer)
load_pkgs "${root_list}" "${target_arch}" "${initsys}" "${kernel}"
load_pkgs "${root_list}" "${initsys}" "${kernel}"
run_safe "make_rootfs"
if [[ -f "${desktop_list}" ]] ; then
load_pkgs "${desktop_list}" "${target_arch}" "${initsys}" "${kernel}"
load_pkgs "${desktop_list}" "${initsys}" "${kernel}"
run_safe "make_desktopfs"
fi
if [[ -f ${live_list} ]]; then
load_pkgs "${live_list}" "${target_arch}" "${initsys}" "${kernel}"
load_pkgs "${live_list}" "${initsys}" "${kernel}"
run_safe "make_livefs"
fi
run_safe "make_bootfs"

View File

@@ -8,61 +8,22 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
export LC_MESSAGES=C
# export LC_MESSAGES=C
export LANG=C
declare ALL_OFF='' BOLD='' BLUE='' GREEN='' RED='' YELLOW=''
source /usr/share/makepkg/util.sh
if [[ -t 2 ]]; then
# prefer terminal safe colored and bold text when tput is supported
if tput setaf 0 &>/dev/null; then
ALL_OFF="$(tput sgr0)"
BOLD="$(tput bold)"
RED="${BOLD}$(tput setaf 1)"
GREEN="${BOLD}$(tput setaf 2)"
YELLOW="${BOLD}$(tput setaf 3)"
BLUE="${BOLD}$(tput setaf 4)"
else
ALL_OFF="\e[0m"
BOLD="\e[1m"
RED="${BOLD}\e[31m"
GREEN="${BOLD}\e[32m"
YELLOW="${BOLD}\e[33m"
BLUE="${BOLD}\e[34m"
fi
colorize
else
declare -gr ALL_OFF='' BOLD='' BLUE='' GREEN='' RED='' YELLOW=''
fi
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
plain() {
local mesg=$1; shift
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
msg() {
local mesg=$1; shift
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
msg2() {
local mesg=$1; shift
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
info() {
local mesg=$1; shift
printf "${YELLOW} -->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
warning() {
local mesg=$1; shift
printf "${YELLOW}==> WARNING:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
error() {
local mesg=$1; shift
printf "${RED}==> ERROR:${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
stat_busy() {
local mesg=$1; shift
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}...${ALL_OFF}" "$@" >&2

View File

@@ -36,8 +36,6 @@ move_to_repo(){
msg "Writing repo lists [%s]" "$repo_src"
ls *.pkg.tar.xz{,.sig} > $filelist
ls *.pkg.tar.xz > $pkglist
# uncomment for local test run
# rsync -v --files-from="$filelist" $repo_path "$src"
rm -v *
repo-add $repo_src.db.tar.xz
repo_path=${repos_root}/$repo_dest/os/$repo_arch
@@ -51,21 +49,25 @@ move_to_repo(){
}
add_to_repo(){
local repo="$1" destarch="$2" pkg="$3" ver pkgfile result
local repo="$1" destarch="$2" pkg="$3" ver pkgfile=
local repo_path=${repos_root}/$repo/os/$destarch
source $pkg/PKGBUILD
local dest=$pkg
for name in ${pkgname[@]};do
info "finddeps: %s" "$name"
finddeps $name
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if ! result=$(find_cached_package "$name" "$ver" "$CARCH"); then
pkgfile=$name-$ver-$CARCH.pkg.tar.xz
[[ -n ${PKGDEST} ]] && dest=${PKGDEST}/$pkgfile
[[ -e $dest.sig ]] && rm $dest.sig
signfile $dest
ln -sf $dest{,.sig} $repo_path/
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then
info "find-libdeps: %s" "$pkgfile"
find-libdeps "$pkgfile"
info "find-libprovides: %s" "$pkgfile"
find-libprovides "$pkgfile"
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
signfile ${pkgfile}
ln -sf ${pkgfile}{,.sig} $repo_path/
cd $repo_path
repo-add -R $repo.db.tar.xz $pkgfile
repo-add -R $repo.db.tar.xz ${pkgfile##*/}
fi
done
}

View File

@@ -22,35 +22,6 @@ is_dirty() {
return 0
}
show_version_table(){
declare -A UPDATES
msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version"
for repo in ${repo_tree_artix[@]}; do
for pkg in ${tree_dir_artix}/$repo/*; do
if [[ -f $pkg/PKGBUILD ]];then
source $pkg/PKGBUILD 2>/dev/null
package=${pkg##*/}
artixver=$(get_full_version $package)
set_import_path "$repo" "$package"
if [[ -f $src/PKGBUILD ]];then
source $src/PKGBUILD 2>/dev/null
archver=$(get_full_version $package)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
UPDATES[$package]="$pkg/PKGBUILD $src/PKGBUILD"
msg_row_update "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver"
fi
fi
unset pkgver epoch pkgrel artixver archver package
done
done
rm ${patches_dir}/*.patch
for upd in "${!UPDATES[@]}"; do
msg "Writing %s update patch ..." "$upd"
diff -u ${UPDATES[$upd]} > ${patches_dir}/"$upd"-archlinux.patch
done
}
sync_tree(){
local branch="master" repo="$1"
git checkout $branch
@@ -80,6 +51,7 @@ clone_tree(){
}
sync_tree_arch(){
local repo="$1"
cd ${tree_dir_arch}
for repo in ${repo_tree_arch[@]};do
if [[ -d ${repo} ]];then
@@ -94,6 +66,7 @@ sync_tree_arch(){
}
sync_tree_artix(){
local repo="$1"
cd ${tree_dir_artix}
for repo in ${repo_tree_artix[@]};do
if [[ -d ${repo} ]];then
@@ -141,96 +114,100 @@ patch_pkg(){
updpkgsums
cd ..
;;
'tp_smapi'|'acpi_call'|'r8168')
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/PKGBUILD
;;
esac
}
set_import_path(){
get_import_path(){
local arch_dir arch_repo import_path
local repo="$1" pkg="$2"
local repo="$1" pkg="$2" src=
case $repo in
system|world)
if [[ "$repo" == 'system' ]];then
arch_repo=core
arch_dir=packages
fi
if [[ "$repo" == 'world' ]];then
arch_repo=extra
arch_dir=packages
fi
arch_dir=packages
[[ "$repo" == 'system' ]] && arch_repo=core
[[ "$repo" == 'world' ]] && arch_repo=extra
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
src=$import_path/$arch_repo-x86_64
if [[ -d $import_path/$arch_repo-any ]];then
src=$import_path/$arch_repo-any
elif [[ -d $import_path/testing-x86_64 ]];then
src=$import_path/testing-x86_64
elif [[ -d $import_path/testing-any ]];then
src=$import_path/testing-any
fi
[[ -d $import_path/testing-x86_64 ]] && src=$import_path/testing-x86_64
[[ -d $import_path/$arch_repo-any ]] && src=$import_path/$arch_repo-any
[[ -d $import_path/testing-any ]] && src=$import_path/testing-any
;;
galaxy)
arch_repo=community
arch_dir=$arch_repo
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos/$arch_repo
src=$import_path-x86_64
if [[ -d $import_path-any ]];then
src=$import_path-any
elif [[ -d $import_path-testing-x86_64 ]];then
src=$import_path-testing-x86_64
elif [[ -d $import_path-testing-any ]];then
src=$import_path-testing-any
fi
[[ -d $import_path-testing-x86_64 ]] && src=$import_path-testing-x86_64
[[ -d $import_path-any ]] && src=$import_path-any
[[ -d $import_path-testing-any ]] && src=$import_path-testing-any
;;
lib32)
if [[ "$pkg" == 'llvm' ]];then
arch_repo=extra
arch_dir=packages
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
src=$import_path/extra-x86_64
if [[ -d $import_path/testing-x86_64 ]];then
src=$import_path/testing-x86_64
fi
else
arch_repo=multilib
arch_dir=community
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
src=$import_path/$arch_repo-x86_64
if [[ -d $import_path/$arch_repo-testing-x86_64 ]];then
src=$import_path/$arch_repo-testing-x86_64
fi
fi
arch_repo=multilib
arch_dir=community
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
src=$import_path/$arch_repo-x86_64
[[ -d $import_path/$arch_repo-testing-x86_64 ]] && src=$import_path/$arch_repo-testing-x86_64
;;
esac
echo $src
}
show_version_table(){
local repo="$1"
declare -A UPDATES
msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version"
for pkg in ${tree_dir_artix}/$repo/*; do
if [[ -f $pkg/PKGBUILD ]];then
source $pkg/PKGBUILD 2>/dev/null
package=${pkg##*/}
artixver=$(get_full_version $package)
local src=$(get_import_path "$repo" "$package")
if [[ -f $src/PKGBUILD ]];then
source $src/PKGBUILD 2>/dev/null
archver=$(get_full_version $package)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
UPDATES[$package]="$pkg/PKGBUILD $src/PKGBUILD"
msg_row_update "%-30s %-30s %-30s %-30s" "$repo" "$package" "$artixver" "$archver"
fi
fi
unset pkgver epoch pkgrel artixver archver package
done
find "${patches_dir}/$repo/" -name *.patch -delete
for upd in "${!UPDATES[@]}"; do
msg "Writing %s update patch ..." "$upd"
diff -u ${UPDATES[$upd]} > ${patches_dir}/$repo/"$upd"-archlinux.patch
done
}
import_from_arch(){
local timer=$(get_timer) branch='testing' push="$1"
for repo in ${repo_tree_artix[@]};do
read_import_list "$repo"
if [[ -n ${import_list[@]} ]];then
cd ${tree_dir_artix}/$repo
git checkout $branch &> /dev/null
$(is_dirty) && die "[%s] has uncommited changes!" "${repo}"
git pull origin "$branch"
msg "Import into [%s]" "$repo"
for pkg in ${import_list[@]};do
source $pkg/PKGBUILD 2>/dev/null
local ver=$(get_full_version $pkg)
msg2 "package: %s-%s" "$pkg" "$ver"
set_import_path "$repo" "$pkg"
rsync "${rsync_args[@]}" $src/ ${tree_dir_artix}/$repo/$pkg/
if $(is_dirty) || $(is_untracked); then
patch_pkg "$pkg"
${push} && git add "$pkg"
msg2 "Archlinux import: [%s]" "$pkg-$ver"
if ${push};then
git commit -m "Archlinux import: $pkg-$ver"
sleep 10
git push origin "$branch"
fi
fi
unset pkgver epoch pkgrel ver
done
fi
done
local timer=$(get_timer) branch='testing' repo="$1" push="$2"
read_import_list "$repo"
if [[ -n ${import_list[@]} ]];then
cd ${tree_dir_artix}/$repo
git checkout $branch &> /dev/null
$(is_dirty) && die "[%s] has uncommited changes!" "${repo}"
git pull origin "$branch"
for pkg in ${import_list[@]};do
local src=$(get_import_path "$repo" "$pkg") dest=${tree_dir_artix}/$repo/$pkg
source $src/PKGBUILD 2>/dev/null
local ver=$(get_full_version $pkg)
msg "Package: %s-%s" "$pkg" "$ver"
msg2 "src: %s" "$src"
msg2 "dest: %s" "$dest"
rsync "${rsync_args[@]}" $src/ $dest/
patch_pkg "$pkg"
# if ${push};then
# local timeout=10
# git add "$pkg"
# git commit -m "$pkg-$ver"
# sleep $timeout
# git push origin "$branch"
# fi
unset pkgver epoch pkgrel ver
done
fi
show_elapsed_time "${FUNCNAME}" "${timer}"
}

View File

@@ -9,15 +9,6 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
in_array() {
local needle=$1; shift
local item
for item in "$@"; do
[[ $item = $needle ]] && return 0 # Found
done
return 1 # Not Found
}
# $1: sofile
# $2: soarch
process_sofile() {
@@ -45,39 +36,15 @@ pkgver_equal() {
fi
}
get_full_version() {
# set defaults if they weren't specified in buildfile
pkgbase=${pkgbase:-${pkgname[0]}}
epoch=${epoch:-0}
if [[ -z $1 ]]; then
if [[ $epoch ]] && (( ! $epoch )); then
echo $pkgver-$pkgrel
else
echo $epoch:$pkgver-$pkgrel
fi
else
for i in pkgver pkgrel epoch; do
local indirect="${i}_override"
eval $(declare -f package_$1 | sed -n "s/\(^[[:space:]]*$i=\)/${i}_override=/p")
[[ -z ${!indirect} ]] && eval ${indirect}=\"${!i}\"
done
if (( ! $epoch_override )); then
echo $pkgver_override-$pkgrel_override
else
echo $epoch_override:$pkgver_override-$pkgrel_override
fi
fi
}
find_cached_package() {
local searchdirs=("$PWD" "$PKGDEST") results=()
local searchdirs=("$PKGDEST" "$PWD") results=()
local targetname=$1 targetver=$2 targetarch=$3
local dir pkg pkgbasename name ver rel arch r results
for dir in "${searchdirs[@]}"; do
[[ -d $dir ]] || continue
for pkg in "$dir"/*.pkg.tar.xz; do
for pkg in "$dir"/*.pkg.tar.?z; do
[[ -f $pkg ]] || continue
# avoid adding duplicates of the same inode
@@ -87,7 +54,7 @@ find_cached_package() {
# split apart package filename into parts
pkgbasename=${pkg##*/}
pkgbasename=${pkgbasename%.pkg.tar?(.?z)}
pkgbasename=${pkgbasename%.pkg.tar.?z}
arch=${pkgbasename##*-}
pkgbasename=${pkgbasename%-"$arch"}
@@ -110,7 +77,7 @@ find_cached_package() {
return 1
;;
1)
printf '%s\n' "$results"
printf '%s\n' "${results[0]}"
return 0
;;
*)

View File

@@ -54,14 +54,10 @@ get_osid(){
init_artools_base(){
[[ -z ${target_arch} ]] && target_arch=$(uname -m)
target_arch=$(uname -m)
[[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools'
log_dir='/var/log/artools'
tmp_dir='/tmp'
[[ -z ${workspace_dir} ]] && workspace_dir=/home/${OWNER}/artools-workspace
prepare_dir "${workspace_dir}"
@@ -95,9 +91,9 @@ init_artools_pkg(){
init_artools_iso(){
chroots_iso="${chroots_dir}/buildiso"
cache_dir_iso="${workspace_dir}/iso"
[[ -z ${iso_pool} ]] && iso_pool="${workspace_dir}/iso"
prepare_dir "${cache_dir_iso}"
prepare_dir "${iso_pool}"
profile='base'
@@ -111,6 +107,8 @@ init_artools_iso(){
[[ -z ${kernel} ]] && kernel="linux-lts"
[[ -z ${kernel_args} ]] && kernel_args=""
[[ -z ${gpgkey} ]] && gpgkey=''
[[ -z ${uplimit} ]] && uplimit=100