Compare commits

...

100 Commits
0.6.3 ... 0.6.5

Author SHA1 Message Date
artoo
371f93ea7f Merge pull request #41 from artix-linux/devel
Devel
2018-02-08 23:21:22 +01:00
udeved
3fb842f36a buildtree2: rm leftover help msg 2018-02-08 23:20:36 +01:00
udeved
78fbb97bd9 buildtree2: fix comparing 2018-02-08 23:07:45 +01:00
udeved
23d75a7c12 buildtree2, buildtree: disable bash patching 2018-02-08 22:23:19 +01:00
udeved
8626be9c0b update import lists 2018-02-08 22:22:25 +01:00
udeved
557aac62e4 buildpkg2: reduce chroots used 2018-02-08 22:02:08 +01:00
udeved
f261bb9e5b update example jenkinsfile 2018-02-08 22:01:42 +01:00
udeved
3281655692 update pacman.conf files 2018-02-08 22:01:20 +01:00
udeved
dfd3961d9c mkchrootpkg, chroot-run: arch patches 2018-02-08 21:22:08 +01:00
udeved
0939e6d5a2 buildtree2: fixes 2018-02-08 10:57:33 +01:00
udeved
a9652ed8cf buildtree2: rm trunk only 2018-02-07 21:19:25 +01:00
udeved
c6d43721cb buildtree: use new patch 2018-02-07 21:15:34 +01:00
udeved
b4900e760d artix bash patch: use no path 2018-02-07 21:15:06 +01:00
udeved
346e05d943 update packages import list 2018-02-07 20:54:52 +01:00
udeved
c786e6900f buildpkg2: fix syntax 2018-02-07 20:40:53 +01:00
udeved
d42bfb6893 deploypkg2: rm move() 2018-02-07 20:15:19 +01:00
udeved
40be81f3f3 update jenkinsfile examples 2018-02-07 20:11:26 +01:00
udeved
db8ba96909 buildtree2: sync all repos in one go 2018-01-31 01:36:48 +01:00
udeved
5750465180 buildtree2: reimplement comparing 2018-01-31 00:51:33 +01:00
udeved
2d042b1545 update example pipelines & bash patch 2018-01-30 12:04:41 +01:00
udeved
a66c12ebc1 buildtree2: fixes 2018-01-30 12:03:40 +01:00
udeved
28c7ea361c buildtree2, buildpkg2: rm pkg move; use pacman-default.conf in stable repos 2018-01-29 18:17:44 +01:00
udeved
40e3623b3a basestrap, mkchroot: arch patches 2018-01-29 18:16:03 +01:00
udeved
2d998df432 buildtree2: small var renaming 2018-01-27 12:17:00 +01:00
udeved
d10dbed4b2 mkchrootpkg: backport arch patches 2018-01-27 04:52:12 +01:00
udeved
f74dd7654a buildtree2: default to rebase pulls 2018-01-27 04:51:36 +01:00
udeved
313db49bba deploypkg2 & buildtree2 fixes 2018-01-27 03:35:31 +01:00
udeved
0235f2f9cd update example jenkinsfile 2018-01-27 03:34:46 +01:00
udeved
e08c5a9659 util:: make sure that makepkg.conf is always parsed as text 2018-01-25 17:20:09 +01:00
udeved
c38319b40c fix example pipelines 2018-01-25 13:40:59 +01:00
udeved
c7d07f4408 update example pipelines 2018-01-25 11:51:04 +01:00
udeved
cf5239b814 buildtree2: fixes 2018-01-25 11:50:36 +01:00
udeved
d77b860628 buildtree2: add move_pkg() to standardize commit messages for repo move 2018-01-24 22:32:44 +01:00
udeved
4a53b6dfd1 add old import lists 2018-01-24 21:35:05 +01:00
udeved
88a3135dc2 deploypkg2: fix moving 2018-01-24 21:13:37 +01:00
udeved
b72dcdae89 update pipeline files 2018-01-24 21:13:09 +01:00
udeved
9e7b0aba10 add pipelines 2018-01-23 09:36:18 +01:00
udeved
9d32b0ca9e deploypkg2: fix 2018-01-23 09:35:57 +01:00
artoo
e496c4d3dd Merge pull request #40 from artix-linux/gitsubtree
Gitsubtree
2018-01-23 00:27:28 +01:00
udeved
146021408d util-pkg-tree: use new unified patch 2018-01-23 00:26:48 +01:00
udeved
c40ec0eca2 make pkg tools work with arch structure 2018-01-23 00:18:14 +01:00
udeved
fbba7656f9 util-pkg-tree: host tree fixes 2018-01-22 12:44:24 +01:00
udeved
a2c90b7613 buildtree2: add options to handle subtrees 2018-01-21 15:33:40 +01:00
udeved
925f5e197a upd Makefile 2018-01-17 20:24:08 +01:00
udeved
7a2170ea14 buildpkg2, buildtree2 fixes 2018-01-17 20:23:56 +01:00
udeved
f81910a891 data: readd old pac conf 2018-01-17 20:23:25 +01:00
udeved
b731228828 wip buildpkg,buildtree,deploypkg 2018-01-16 22:19:25 +01:00
udeved
b82294fcb9 install old scripts 2018-01-16 22:18:40 +01:00
udeved
2b4b3107bf add separate scripts to keeep old scripts working, first test 2018-01-15 01:15:41 +01:00
udeved
a906875af7 Merge branch 'devel' of github.com:artix-linux/artools into gitsubtree 2018-01-15 00:36:25 +01:00
udeved
4b4e07e743 buildiso: rename enable_live array 2018-01-15 00:34:26 +01:00
udeved
2127988036 builldiso: rm openrc specific services array; use services array 2018-01-15 00:22:48 +01:00
udeved
710a8dc57f first changes to adopt new git subtree 2018-01-15 00:15:56 +01:00
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
52 changed files with 2934 additions and 665 deletions

View File

@@ -22,7 +22,7 @@ LIBS_BASE = \
lib/util-fstab.sh lib/util-fstab.sh
SHARED_BASE = \ SHARED_BASE = \
$(wildcard data/pacman-*.conf) $(wildcard data/pacman*.conf)
LIST_IMPORT = \ LIST_IMPORT = \
$(wildcard data/import.list.d/*.list) $(wildcard data/import.list.d/*.list)
@@ -36,13 +36,16 @@ BIN_PKG = \
bin/mkchrootpkg \ bin/mkchrootpkg \
bin/buildpkg \ bin/buildpkg \
bin/buildtree \ bin/buildtree \
bin/deploypkg bin/deploypkg \
bin/buildpkg2 \
bin/buildtree2 \
bin/deploypkg2
LIBS_PKG = \ LIBS_PKG = \
$(wildcard lib/util-pkg*.sh) $(wildcard lib/util-pkg*.sh)
SHARED_PKG = \ SHARED_PKG = \
$(wildcard data/makepkg-*.conf) data/makepkg.conf
PATCHES = \ PATCHES = \
$(wildcard data/patches/*.patch) $(wildcard data/patches/*.patch)
@@ -55,8 +58,7 @@ LIBS_ISO = \
$(wildcard lib/util-iso*.sh) $(wildcard lib/util-iso*.sh)
SHARED_ISO = \ SHARED_ISO = \
data/mkinitcpio.conf \ data/mkinitcpio.conf
data/linux.preset
CPIOHOOKS = \ CPIOHOOKS = \
$(wildcard initcpio/hooks/*) $(wildcard initcpio/hooks/*)
@@ -122,7 +124,7 @@ install_pkg:
install -m0755 ${BIN_PKG} $(DESTDIR)$(PREFIX)/bin install -m0755 ${BIN_PKG} $(DESTDIR)$(PREFIX)/bin
ln -sf buildpkg $(DESTDIR)$(PREFIX)/bin/buildpkg-testing ln -sf buildpkg $(DESTDIR)$(PREFIX)/bin/buildpkg-testing
ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides
install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools

View File

@@ -32,7 +32,6 @@ usage() {
echo "usage: ${0##*/} [options] root [packages...]" echo "usage: ${0##*/} [options] root [packages...]"
echo " -C <config> Use an alternate config file for pacman" echo " -C <config> Use an alternate config file for pacman"
echo " -c Use the package cache on the host, rather than the target" echo " -c Use the package cache on the host, rather than the target"
echo " -d Allow installation to a non-mountpoint directory"
echo " -G Avoid copying the host's pacman keyring to the target" echo " -G Avoid copying the host's pacman keyring to the target"
echo " -i Avoid auto-confirmation of package selections" echo " -i Avoid auto-confirmation of package selections"
echo " -M Avoid copying the host's mirrorlist to the target" echo " -M Avoid copying the host's mirrorlist to the target"
@@ -47,12 +46,11 @@ usage() {
orig_argv=("$0" "$@") orig_argv=("$0" "$@")
opts=':C:cdGiM' opts=':C:cGiM'
while getopts ${opts} arg; do while getopts ${opts} arg; do
case "${arg}" in case "${arg}" in
C) pacman_conf=$OPTARG ;; C) pacman_conf=$OPTARG ;;
d) directory=true ;;
c) hostcache=true ;; c) hostcache=true ;;
i) interactive=true ;; i) interactive=true ;;
G) copykeyring=false ;; G) copykeyring=false ;;
@@ -77,10 +75,6 @@ ${interactive} || pacman_args+=(--noconfirm)
[[ -d $newroot ]] || die "%s is not a directory" "$newroot" [[ -d $newroot ]] || die "%s is not a directory" "$newroot"
if ! mountpoint -q "$newroot" && ! ${directory}; then
die '%s is not a mountpoint!' "$newroot"
fi
# create obligatory directories # create obligatory directories
create_min_fs "$newroot" create_min_fs "$newroot"

View File

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

View File

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

151
bin/buildpkg2.in Normal file
View File

@@ -0,0 +1,151 @@
#!/bin/bash
#
# This program 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; version 2 of the License.
#
# This program 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.
version=@version@
shopt -s nullglob
LIBDIR='@libdir@'
DATADIR='@datadir@'
SYSCONFDIR='@sysconfdir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-chroot.sh
import ${LIBDIR}/util-pkg.sh
show_pkg(){
source PKGBUILD
for n in ${pkgname[@]}; do
msg2 "%s" "$n"
done
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "chroots_pkg: %s" "${chroots_pkg}"
msg2 "repository: %s" "${repository}"
msg "ARGS:"
msg2 "create_first: %s" "${create_first}"
msg2 "makepkg_args: %s" "${makepkg_args[*]}"
msg2 "mkchrootpkg_args: %s" "${mkchrootpkg_args[*]}"
msg "BUILD:"
show_pkg
}
load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
create_first=false
pretend=false
mkchroot_args=()
mkchrootpkg_args=(-c -n)
repository='default'
prepare_build(){
local pac_file= mp_file='makepkg.conf'
base_devel=('base-devel')
case ${repository} in
'system'|'world'|'galaxy') repository='default' ;;
lib32*) base_devel+=('multilib-devel') ;;
galaxy-gremlins|galaxy-goblins) repository=${repository#*-} ;;
esac
local pac_file="pacman-${repository}.conf"
local pacman_conf="${DATADIR}/$pac_file"
[[ -f $AT_USERCONFDIR/$pac_file ]] && pacman_conf="$AT_USERCONFDIR/$pac_file"
work_dir="${chroots_pkg}/${repository}-${target_arch}"
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")
mkchrootpkg_args+=(-r "${work_dir}" "${makepkg_args[@]}")
}
build(){
local timer_start=$(get_timer)
exec mkchrootpkg "${mkchrootpkg_args[@]}"
show_elapsed_time "${FUNCNAME}" "${timer_start}"
}
usage() {
echo "Usage: ${0##*/} [options] -- [makepkg_args]"
echo " -r <dir> Repository [default: ${repository}]"
echo ' -c Create root chroot'
echo ' -q Query settings and pretend build'
echo ' -h This help'
echo ''
echo "Default makepkg_args args: ${makepkg_args[*]}"
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='r:cqh'
while getopts "${opts}" arg; do
case "${arg}" in
r) repository="$OPTARG" ;;
c) create_first=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '%s'" "${arg}"; usage 1 ;;
esac
done
makepkg_args+=("${@:$OPTIND}")
check_root
prepare_build
${pretend} && display_settings && exit
if ${create_first} || [[ ! -d ${work_dir}/root ]];then
msg "Creating chroot for [%s] (%s)..." "${repository}" "${target_arch}"
for copy in "${work_dir}"/*; do
[[ -d $copy ]] || continue
msg2 "Deleting chroot copy '%s'..." "$(basename "${copy}")"
lock 9 "$copy.lock" "Locking chroot copy '%s'" "$copy"
subvolume_delete_recursive "${copy}"
rm -rf --one-file-system "${copy}"
done
lock_close 9
rm -rf --one-file-system "${work_dir}"
mkdir -p "${work_dir}"
setarch "${target_arch}" mkchroot \
"${mkchroot_args[@]}" "${base_devel[@]}" || abort
else
lock 9 "${work_dir}/root.lock" "Locking clean chroot"
chroot-run "${mkchroot_args[@]}" \
pacman -Syu --noconfirm || abort
fi
build

View File

@@ -36,7 +36,7 @@ display_settings(){
msg2 "arch: %s" "${arch}" msg2 "arch: %s" "${arch}"
msg2 "compare: %s" "${compare}" msg2 "compare: %s" "${compare}"
msg2 "import_arch: %s" "${import_arch}" msg2 "import_arch: %s" "${import_arch}"
msg2 "gitpush: %s" "${gitpush}" # msg2 "gitpush: %s" "${gitpush}"
msg "PATHS:" msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}" msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
@@ -53,7 +53,7 @@ arch=false
artix=false artix=false
compare=false compare=false
import_arch=false import_arch=false
gitpush=false # gitpush=false
repository='system' #${PWD##*/} repository='system' #${PWD##*/}
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
@@ -65,7 +65,7 @@ usage() {
echo " -s Sync artix tree" echo " -s Sync artix tree"
echo " -c Compare artix and arch versions" echo " -c Compare artix and arch versions"
echo ' -i Import arch packages' echo ' -i Import arch packages'
echo ' -p Push import packages' # echo ' -p Push import packages'
echo ' -q Query settings' echo ' -q Query settings'
echo ' -h This help' echo ' -h This help'
echo '' echo ''
@@ -75,7 +75,8 @@ usage() {
orig_argv=("$0" "$@") orig_argv=("$0" "$@")
opts='r:aipscqh' # opts='r:aipscqh'
opts='r:aiscqh'
while getopts "${opts}" arg; do while getopts "${opts}" arg; do
case "${arg}" in case "${arg}" in
@@ -84,7 +85,7 @@ while getopts "${opts}" arg; do
s) artix=true ;; s) artix=true ;;
c) compare=true ;; c) compare=true ;;
i) import_arch=true ;; i) import_arch=true ;;
p) gitpush=true ;; # p) gitpush=true ;;
q) pretend=true ;; q) pretend=true ;;
h|?) usage 0 ;; h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;; *) echo "invalid argument '${arg}'"; usage 1 ;;
@@ -105,4 +106,4 @@ ${arch} && sync_tree_arch
${compare} && show_version_table "${repository}" ${compare} && show_version_table "${repository}"
${import_arch} && import_from_arch "${repository}" "${gitpush}" ${import_arch} && import_from_arch "${repository}" #"${gitpush}"

318
bin/buildtree2.in Normal file
View File

@@ -0,0 +1,318 @@
#!/bin/bash
#
# This program 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; version 2 of the License.
#
# This program 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.
version=@version@
LIBDIR='@libdir@'
SYSCONFDIR='@sysconfdir@'
DATADIR='@datadir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
get_local_head(){
echo $(git log --pretty=%H ...refs/heads/$1^ | head -n 1)
}
get_remote_head(){
echo $(git ls-remote origin -h refs/heads/$1 | cut -f1)
}
is_dirty() {
[[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1
return 0
}
is_untracked(){
[[ $(git ls-files --others --exclude-standard) != "" ]] || return 1
return 0
}
pull_tree(){
local branch="master" tree="$1"
local local_head=$(get_local_head "$branch")
local remote_head=$(get_remote_head "$branch")
local timer=$(get_timer)
msg "Checking [%s] ..." "$tree"
msg2 "local: %s" "${local_head}"
msg2 "remote: %s" "${remote_head}"
if [[ "${local_head}" == "${remote_head}" ]]; then
info "nothing to do"
else
info "needs pull"
git pull origin $branch
fi
msg "Done [%s]" "$tree"
show_elapsed_time "${FUNCNAME}" "${timer}"
}
clone_tree(){
local timer=$(get_timer) tree="$1" host_tree="$2"
msg "Preparing [%s] ..." "$tree"
info "clone"
git clone $host_tree.git
msg "Done [%s]" "$tree"
show_elapsed_time "${FUNCNAME}" "${timer}"
}
pull_tree_arch(){
cd ${tree_dir_arch}
for tree in packages community;do
if [[ -d ${tree} ]];then
cd ${tree}
pull_tree "${tree}"
cd ..
else
clone_tree "${tree}" "${host_tree_arch}/${tree}"
fi
done
}
pull_tree_artix(){
cd ${tree_dir_artix}
for tree in packages packages-galaxy;do
if [[ -d ${tree} ]];then
cd ${tree}
git config --bool pull.rebase true
pull_tree "${tree}"
cd ..
else
clone_tree "${tree}" "${host_tree_artix}/${tree}"
fi
done
}
read_import_list(){
local tree="$1"
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g"
import_list=$(sed "$_com_rm" "${list_dir_import}/$tree.list" | sed "$_space" | sed "$_clean")
}
patch_pkg(){
local pkg="$1" repo="$2"
case $pkg in
'glibc')
sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \
-e '/nscd.service/d' \
-i $pkg/$repo/PKGBUILD
sed -e 's|{locale,systemd/system,tmpfiles.d}|{locale,tmpfiles.d}|' \
-e '/nscd.service/d' \
-i $pkg/trunk/PKGBUILD
;;
'tp_smapi'|'acpi_call'|'r8168')
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/$repo/PKGBUILD
sed -e 's|-ARCH|-ARTIX|g' -i $pkg/trunk/PKGBUILD
;;
esac
}
get_import_path(){
local tree="$1" import_path=
case $tree in
packages) import_path=${tree_dir_arch}/packages ;;
packages-galaxy) import_path=${tree_dir_arch}/community ;;
esac
echo $import_path
}
find_repo(){
local pkg="$1" repo=
if [[ -d $pkg/repos/core-x86_64 ]];then
repo=core-x86_64
elif [[ -d $pkg/repos/core-any ]];then
repo=core-any
fi
if [[ -d $pkg/repos/extra-x86_64 ]];then
repo=extra-x86_64
elif [[ -d $pkg/repos/extra-any ]];then
repo=extra-any
fi
if [[ -d $pkg/repos/testing-x86_64 ]];then
repo=testing-x86_64
elif [[ -d $pkg/repos/testing-any ]];then
repo=testing-any
fi
if [[ -d $pkg/repos/staging-x86_64 ]];then
repo=staging-x86_64
elif [[ -d $pkg/repos/staging-any ]];then
repo=staging-any
fi
if [[ -d $pkg/repos/community-x86_64 ]];then
repo=community-x86_64
elif [[ -d $pkg/repos/community-any ]];then
repo=community-any
fi
if [[ -d $pkg/repos/community-testing-x86_64 ]];then
repo=community-testing-x86_64
elif [[ -d $pkg/repos/community-testing-any ]];then
repo=community-testing-any
fi
if [[ -d $pkg/repos/community-staging-x86_64 ]];then
repo=community-staging-x86_64
elif [[ -d $pkg/repos/community-staging-any ]];then
repo=community-staging-any
fi
if [[ -d $pkg/repos/multilib-x86_64 ]];then
repo=multilib-x86_64
fi
if [[ -d $pkg/repos/multilib-testing-x86_64 ]];then
repo=multilib-testing-x86_64
fi
if [[ -d $pkg/repos/multilib-staging-x86_64 ]];then
repo=multilib-staging-x86_64
fi
echo $repo
}
show_version_table(){
local tree="$1"
declare -A UPDATES
msg_table_header "%-30s %-30s %-30s %-30s" "Repository" "Package" "Artix version" "Arch version"
for pkg in ${tree_dir_artix}/$tree/*; do
local artixrepo=$(find_repo "$pkg")
if [[ -f $pkg/repos/$artixrepo/PKGBUILD ]];then
source $pkg/repos/$artixrepo/PKGBUILD 2>/dev/null
package=${pkg##*/}
cd $pkg/repos/$artixrepo
artixver=$(get_full_version $package)
local src=$(get_import_path "$tree" "$package")
local archrepo=$(find_repo "$src/$package")
if [[ -f $src/$package/repos/$archrepo/PKGBUILD ]];then
source $src/$package/repos/$archrepo/PKGBUILD 2>/dev/null
cd $src/$package/repos/$archrepo
archver=$(get_full_version $package)
fi
if [ $(vercmp $artixver $archver) -lt 0 ];then
UPDATES[$package]="$pkg/repos/$artixrepo/PKGBUILD $src/$package/repos/$archrepo/PKGBUILD"
msg_row_update "%-30s %-30s %-30s %-30s" "${archrepo%-*}" "$package" "$artixver" "$archver"
fi
unset pkgver epoch pkgrel artixver archver package
fi
done
find "${patches_dir}/$tree/" -name *.patch -delete
for upd in "${!UPDATES[@]}"; do
msg "Writing %s update patch ..." "$upd"
diff -u ${UPDATES[$upd]} > ${patches_dir}/$tree/"$upd"-archlinux.patch
done
}
import_from_arch(){
local timer=$(get_timer) tree="$1"
read_import_list "$tree"
if [[ -n ${import_list[@]} ]];then
cd ${tree_dir_artix}/$tree
for pkg in ${import_list[@]};do
local src=$(get_import_path "$tree")
local dest=${tree_dir_artix}/$tree
rsync "${rsync_args[@]}" $src/$pkg/ $dest/$pkg/
local repo=$(find_repo "$pkg")
source $src/$pkg/repos/$repo/PKGBUILD 2>/dev/null
local ver=$(get_full_version $pkg)
msg "Repo: [%s] Package: %s-%s" "$repo" "$pkg" "$ver"
patch_pkg "$pkg" "repos/$repo"
unset pkgver epoch pkgrel ver
done
fi
show_elapsed_time "${FUNCNAME}" "${timer}"
}
sync_repos(){
pull_tree_arch
pull_tree_artix
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "git_tree: %s" "${git_tree}"
msg "ARGS:"
msg2 "sync: %s" "${sync}"
msg2 "import_arch: %s" "${import_arch}"
msg2 "compare: %s" "${compare}"
msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
msg2 "tree_dir_arch: %s" "${tree_dir_arch}"
msg2 "patches_dir: %s" "${patches_dir}/${git_tree}"
}
load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
pretend=false
sync=false
import_arch=false
compare=false
move=false
git_tree='packages'
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
usage() {
echo "Usage: ${0##*/} [options]"
echo " -g <git> Git repo [default:${git_tree}]"
echo " -s Sync repos"
echo ' -i Import arch packages'
echo ' -c Compare packages'
echo ' -q Query settings'
echo ' -h This help'
echo ''
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='g:sciqh'
while getopts "${opts}" arg; do
case "${arg}" in
g) git_tree="$OPTARG" ;;
s) sync=true ;;
i) import_arch=true ;;
c) compare=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
esac
done
shift $(($OPTIND - 1))
prepare_dir "${tree_dir_artix}"
prepare_dir "${tree_dir_arch}"
prepare_dir "${patches_dir}/${git_tree}"
${pretend} && display_settings && exit 1
${sync} && sync_repos
${compare} && show_version_table "${git_tree}"
${import_arch} && import_from_arch "${git_tree}"

View File

@@ -87,7 +87,7 @@ copy_hostconf () {
cp -T "$file" "$working_dir$file" cp -T "$file" "$working_dir$file"
done done
sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" -i "$1/etc/pacman.conf" sed -r "s|^#?\\s*CacheDir.+|CacheDir = ${cache_dirs[*]}|g" -i "$1/etc/pacman.conf"
} }
chroot_extra_mount() { chroot_extra_mount() {

28
bin/commitpkg.in Normal file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
#
# This program 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; version 2 of the License.
#
# This program 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.
version=@version@
LIBDIR='@libdir@'
SYSCONFDIR='@sysconfdir@'
DATADIR='@datadir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
move_pkg(){
local pkg="$1" src_repo="$2" dest_repo="$3" tree="$4"
cd ${tree_dir_artix}/$tree/$pkg/repos
git mv --force $src_repo $dest_repo
git add -u $dest_repo
git commit -m "Move '$pkg' from [$src_repo] to [$dest_repo]"
}

118
bin/deploypkg2.in Normal file
View File

@@ -0,0 +1,118 @@
#!/bin/bash
#
# This program 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; version 2 of the License.
#
# This program 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.
version=@version@
LIBDIR='@libdir@'
SYSCONFDIR='@sysconfdir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh
del_from_repo(){
local ver
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
info "pkgfile: %s" "${pkgfile##*/}"
repo-remove -R $repo_path/$repo.db.tar.xz $name
rm -v $repo_path/${pkgfile##*/}{,.sig}
fi
done
}
add_to_repo(){
local ver pkgfile=
local repo="$1"
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD
for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name)
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then
info "pkgfile: %s" "${pkgfile##*/}"
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
signfile ${pkgfile}
ln -sf ${pkgfile}{,.sig} $repo_path/
repo-add -R $repo_path/$repo.db.tar.xz $pkgfile
fi
done
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "repository: %s" "${repository}"
msg "ARGS:"
msg2 "add_pkg: %s" "${add_pkg}"
msg2 "del_pkg: %s" "${del_pkg}"
msg2 "move_pkg: %s" "${move_pkg}"
}
load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
load_vars /etc/makepkg.conf
pretend=false
add_pkg=false
del_pkg=false
repository=
usage() {
echo "Usage: ${0##*/} [options]"
echo " -d Destination repository [default:${repository}]"
echo ' -a Add package to repository'
echo ' -r Remove package from repository'
echo ' -q Query settings and pretend upload'
echo ' -h This help'
echo ''
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='d:arqh'
while getopts "${opts}" arg; do
case "${arg}" in
d) repository="$OPTARG" ;;
a) add_pkg=true ;;
r) del_pkg=true ;;
q) pretend=true ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
esac
done
shift $(($OPTIND - 1))
timer_start=$(get_timer)
prepare_dir "${repos_root}"
${pretend} && display_settings && exit 1
${del_pkg} && del_from_repo "${repository}"
${add_pkg} && add_to_repo "${repository}"
exit 0

View File

@@ -31,7 +31,7 @@ for repo in ${repo_tree_artix[@]}; do
source $pkg/PKGBUILD 2>/dev/null source $pkg/PKGBUILD 2>/dev/null
package=${pkg##*/} package=${pkg##*/}
artixver=$(get_full_version $package) artixver=$(get_full_version $package)
set_import_path "$repo" "$package" src=$(get_import_path "$repo" "$package")
if [[ -f $src/PKGBUILD ]];then if [[ -f $src/PKGBUILD ]];then
source $src/PKGBUILD 2>/dev/null source $src/PKGBUILD 2>/dev/null
archver=$(get_full_version $package) 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. # one might install Arch from a Fedora environment), so let's remove it.
optstring_remove_option "$varname" seclabel 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 case $fstype in
f2fs) f2fs)
# These are Kconfig options for f2fs. Kernels supporting the options will # These are Kconfig options for f2fs. Kernels supporting the options will

View File

@@ -71,7 +71,7 @@ else
cache_dirs=(${cache_dir}) cache_dirs=(${cache_dir})
fi fi
basestrap_args=(-Gcd ${pacman_conf:+-C "$pacman_conf"}) basestrap_args=(-Gc ${pacman_conf:+-C "$pacman_conf"})
[[ -n ${mirror} ]] && basestrap_args+=(-M) [[ -n ${mirror} ]] && basestrap_args+=(-M)
umask 0022 umask 0022

View File

@@ -146,7 +146,7 @@ prepare_chroot() {
local keepbuilddir=$3 local keepbuilddir=$3
local run_namcap=$4 local run_namcap=$4
$keepbuilddir || rm -rf "$copydir/build" [[ $keepbuilddir = true ]] || rm -rf "$copydir/build"
local builduser_uid="${SUDO_UID:-$UID}" local builduser_uid="${SUDO_UID:-$UID}"
local builduser_gid="$(id -g "$builduser_uid")" local builduser_gid="$(id -g "$builduser_uid")"
@@ -185,9 +185,10 @@ EOF
{ {
printf '#!/bin/bash\n' printf '#!/bin/bash\n'
declare -f _chrootbuild declare -f _chrootbuild
declare -p SOURCE_DATE_EPOCH 2>/dev/null || true
printf '_chrootbuild "$@" || exit\n' printf '_chrootbuild "$@" || exit\n'
if $run_namcap; then if [[ $run_namcap = true ]]; then
declare -f _chrootnamcap declare -f _chrootnamcap
printf '_chrootnamcap || exit\n' printf '_chrootnamcap || exit\n'
fi fi
@@ -201,7 +202,7 @@ _chrootbuild() {
exec </dev/console exec </dev/console
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
. /etc/profile . /etc/profile
sudo -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@" sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
} }
_chrootnamcap() { _chrootnamcap() {
@@ -218,17 +219,16 @@ _chrootnamcap() {
# - USER # - USER
download_sources() { download_sources() {
local copydir=$1 local copydir=$1
local src_owner=$2 local makepkg_user=$2
local builddir="$(mktemp -d)" local builddir
builddir="$(mktemp -d)"
chmod 1777 "$builddir" chmod 1777 "$builddir"
# Ensure sources are downloaded # Ensure sources are downloaded
makepkg_user=${makepkg_user:-$SUDO_USER}
sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \ sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o || makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o ||
die "Could not download sources." die "Could not download sources."
(( $? != 0 )) && die "Could not download sources."
# Clean up garbage from verifysource # Clean up garbage from verifysource
rm -rf "$builddir" rm -rf "$builddir"
@@ -263,6 +263,11 @@ move_products() {
for s in "$copydir"/srcpkgdest/*; do for s in "$copydir"/srcpkgdest/*; do
chown "$src_owner" "$s" chown "$src_owner" "$s"
mv "$s" "$SRCPKGDEST" mv "$s" "$SRCPKGDEST"
# Fix broken symlink because of temporary chroot SRCPKGDEST /srcpkgdest
if [[ "$PWD" != "$SRCPKGDEST" && -L "$PWD/${s##*/}" ]]; then
ln -sf "$SRCPKGDEST/${s##*/}"
fi
done done
} }
# }}} # }}}
@@ -376,7 +381,7 @@ main() {
download_sources "$copydir" "$src_owner" download_sources "$copydir" "$src_owner"
prepare_chroot "$copydir" "$USER_HOME" "$keepbuilddir" prepare_chroot "$copydir" "$USER_HOME" "$keepbuilddir" "$run_namcap"
bindmounts_rw+=("${PWD}:/startdir" "${SRCDEST}:/srcdest") bindmounts_rw+=("${PWD}:/startdir" "${SRCDEST}:/srcdest")

55
bin/transition.in Normal file
View File

@@ -0,0 +1,55 @@
#!/bin/bash
# alias git=hub
super_repo=/home/artux/artools-workspace/artix/packages
copy_pkgs(){
for repo in system world;do
local old_repo=/home/artux/artools-workspace/artix/$repo
cd $old_repo
local packages=$(find . -mindepth 1 -maxdepth 1 -type d)
# git checkout testing
for p in ${packages[@]};do
local pkg=${p#*/}
mkdir -p $super_repo/$pkg/$repo
# cp -v $pkg/* $super_repo/$pkg/trunk/
cp -v $pkg/* $super_repo/$pkg/$repo/
done
done
rm -r $super_repo/.git
}
create_pkg_repo(){
cd $super_repo
local packages=$(find . -mindepth 1 -maxdepth 1 -type d)
for p in ${packages[@]};do
local pkg=${p#*/}
cd $pkg
git init
git add .
git commit -m "initial commit $pkg"
hub create artix-packages/$pkg
git push origin master
cd ..
done
}
add_pkg_subtree(){
for repo in system world;do
local old_repo=/home/artux/artools-workspace/artix/$repo
cd $old_repo
local packages=$(find . -mindepth 1 -maxdepth 1 -type d)
cd $super_repo
for p in ${packages[@]};do
local pkg=${p#*/}
git remote add -f $pkg git@github.com:artix-packages/$pkg.git
git subtree add --prefix $pkg $pkg master --squash
# git subtree add --prefix $pkg git@github.com:artix-packages/$pkg.git master --squash
done
done
}
# copy_pkgs
# create_pkg_repo
add_pkg_subtree

239
data/Jenkinsfile.galaxy Normal file
View File

@@ -0,0 +1,239 @@
def ADD_REPO = ''
def RM_REPO = ''
def IS_ADD = 'false'
def IS_REMOVE = 'false'
def IS_BUILD = 'false'
def PKG_TRUNK = ''
def PKG_PATH = ''
pipeline {
agent any
options {
skipDefaultCheckout()
timestamps()
}
stages {
stage('Checkout') {
steps {
script {
checkout scm
def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim()
echo "currentCommit: ${currentCommit}"
def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
echo "changedFilesStatus: " + changedFilesStatus
def changedPkgStatus = []
def pkgPath = []
int entrySize = 0
for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
def entry = changedFilesStatus[i].split()
def fileStatus = entry[0]
entrySize = entry.size()
for ( int j = 1; j < entry.size(); j++ ) {
if ( entry[j].contains('PKGBUILD') && entry[j].contains('repos') ){
changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD')
pkgPath << entry[j].minus('/PKGBUILD')
}
}
}
int pkgCount = changedPkgStatus.size()
int pkgPathCount = pkgPath.size()
echo "pkgCount: ${pkgCount}"
echo "pkgPath: ${pkgPath}"
echo "entrySize: ${entrySize}"
echo "pkgPathCount: ${pkgPathCount}"
echo "changedPkgStatus: ${changedPkgStatus}"
if ( pkgCount > 0 ) {
if ( entrySize == 2 && pkgCount == 2 ) {
def pkgEntry1 = changedPkgStatus[0].split()
def pkgEntry2 = changedPkgStatus[1].split()
def srcPath = []
def pkgStatus = []
srcPath << pkgEntry1[1]
srcPath << pkgEntry2[1]
pkgStatus << pkgEntry1[0]
pkgStatus << pkgEntry2[0]
def buildInfo1 = srcPath[0].tokenize('/')
def buildInfo2 = srcPath[1].tokenize('/')
for ( s in pkgStatus ) {
if ( s == "M" ) {
IS_ADD = 'true'
if ( srcPath[0].contains('community-testing') ) {
ADD_REPO = 'galaxy-gremlins'
} else if ( srcPath[0].contains('community-x86_64') || srcPath[0].contains('community-any') ) {
ADD_REPO = 'galaxy'
}
if ( srcPath[0].contains('multilib-testing') ) {
ADD_REPO = 'lib32-gremlins'
} else if ( srcPath[0].contains('multilib-x86_64') ) {
ADD_REPO = 'lib32'
}
}
if ( s == 'D' ) {
IS_REMOVE = 'true'
if ( srcPath[1].contains('community-testing') ) {
RM_REPO = 'galaxy-gremlins'
} else if ( srcPath[1].contains('community-x86_64') || srcPath[0].contains('community-any') ) {
RM_REPO = 'galaxy'
}
if ( srcPath[1].contains('multilib-testing') ) {
RM_REPO = 'lib32-gremlins'
} else if ( srcPath[1].contains('multilib-x86_64') ) {
RM_REPO = 'lib32'
}
}
}
PKG_TRUNK = buildInfo1[0] + '/trunk'
}
if ( entrySize == 3 && pkgCount == 2 ) {
def pkgEntry = changedPkgStatus[0].split()
def pkgStatus = pkgEntry[0]
def buildInfo1 = pkgPath[0].tokenize('/')
def buildInfo2 = pkgPath[1].tokenize('/')
if ( pkgStatus.contains('R') ) {
IS_ADD = 'true'
IS_REMOVE = 'true'
if ( pkgPath[0].contains('community-staging') ) {
RM_REPO = 'galaxy-goblins'
}
if ( pkgPath[1].contains('community-testing') ) {
ADD_REPO = 'galaxy-gremlins'
}
if ( pkgPath[1].contains('community-staging') ) {
RM_REPO = 'galaxy-gremlins'
}
if ( pkgPath[0].contains('community-testing') ) {
ADD_REPO = 'galaxy-goblins'
}
if ( pkgPath[0].contains('multilib-staging') ) {
RM_REPO = 'lib32-goblins'
}
if ( pkgPath[1].contains('multilib-testing') ) {
ADD_REPO = 'lib32-gremlins'
}
if ( pkgPath[1].contains('multilib-staging') ) {
RM_REPO = 'lib32-gremlins'
}
if ( pkgPath[0].contains('multilib-testing') ) {
ADD_REPO = 'lib32-goblins'
}
}
PKG_TRUNK = buildInfo1[0] + '/trunk'
}
if ( pkgCount == 1 ) {
def pkgEntry = changedPkgStatus[0].split()
def pkgStatus = pkgEntry[0]
def srcPath = pkgEntry[1]
def buildInfo = srcPath.tokenize('/')
if ( srcPath.contains('community-staging') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'galaxy-goblins'
RM_REPO = ADD_REPO
} else if ( srcPath.contains('community-testing') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'galaxy-gremlins'
RM_REPO = ADD_REPO
} else if ( srcPath.contains('community-x86_64') || srcPath.contains('community-any') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'galaxy'
RM_REPO = ADD_REPO
}
if ( srcPath.contains('multilib-staging') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'lib32-goblins'
RM_REPO = ADD_REPO
} else if ( srcPath.contains('multilib-testing') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'lib32-gremlins'
RM_REPO = ADD_REPO
} else if ( srcPath.contains('multilib-x86_64') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'lib32'
RM_REPO = ADD_REPO
}
PKG_PATH = srcPath
PKG_TRUNK = buildInfo[0] + '/trunk'
}
}
}
}
}
stage('Build') {
environment {
BUILDBOT_GPGP = credentials('BUILDBOT_GPGP')
}
when {
expression { return IS_BUILD == 'true' }
}
steps {
dir("${PKG_PATH}") {
echo "buildpkg2 -r ${ADD_REPO}"
}
}
post {
success {
dir("${PKG_PATH}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
}
}
}
}
stage('Add') {
when {
expression { return IS_ADD == 'true' }
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
}
}
}
stage('Remove') {
when {
expression { return IS_REMOVE == 'true' }
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -r -d ${RM_REPO}"
}
}
}
}
}

202
data/Jenkinsfile.packages Normal file
View File

@@ -0,0 +1,202 @@
def ADD_REPO = ''
def RM_REPO = ''
def IS_ADD = 'false'
def IS_REMOVE = 'false'
def IS_BUILD = 'false'
def PKG_TRUNK = ''
def PKG_PATH = ''
pipeline {
agent any
options {
skipDefaultCheckout()
timestamps()
}
stages {
stage('Checkout') {
steps {
script {
checkout scm
def currentCommit = sh(returnStdout: true, script: 'git rev-parse @').trim()
echo "currentCommit: ${currentCommit}"
def changedFilesStatus = sh(returnStdout: true, script: "git show --pretty=format: --name-status ${currentCommit}").tokenize('\n')
echo "changedFilesStatus: " + changedFilesStatus
def changedPkgStatus = []
def pkgPath = []
int entrySize = 0
for ( int i = 0; i < changedFilesStatus.size(); i++ ) {
def entry = changedFilesStatus[i].split()
def fileStatus = entry[0]
entrySize = entry.size()
for ( int j = 1; j < entry.size(); j++ ) {
if ( entry[j].contains('PKGBUILD') && entry[j].contains('repos') ){
changedPkgStatus << "${fileStatus} " + entry[j].minus('/PKGBUILD')
pkgPath << entry[j].minus('/PKGBUILD')
}
}
}
int pkgCount = changedPkgStatus.size()
int pkgPathCount = pkgPath.size()
echo "pkgCount: ${pkgCount}"
echo "pkgPath: ${pkgPath}"
echo "entrySize: ${entrySize}"
echo "pkgPathCount: ${pkgPathCount}"
echo "changedPkgStatus: ${changedPkgStatus}"
if ( pkgCount > 0 ) {
if ( entrySize == 2 && pkgCount == 2 ) {
def pkgEntry1 = changedPkgStatus[0].split()
def pkgEntry2 = changedPkgStatus[1].split()
def srcPath = []
def pkgStatus = []
srcPath << pkgEntry1[1]
srcPath << pkgEntry2[1]
pkgStatus << pkgEntry1[0]
pkgStatus << pkgEntry2[0]
def buildInfo1 = srcPath[0].tokenize('/')
def buildInfo2 = srcPath[1].tokenize('/')
for ( s in pkgStatus ) {
if ( s == "M" ) {
IS_ADD = 'true'
if ( srcPath[0].contains('testing') ) {
ADD_REPO = 'gremlins'
} else if ( srcPath[0].contains('core') ) {
ADD_REPO = 'system'
} else if ( srcPath[0].contains('extra') ) {
ADD_REPO = 'world'
}
}
if ( s == 'D' ) {
IS_REMOVE = 'true'
if ( srcPath[1].contains('testing') ) {
RM_REPO = 'gremlins'
} else if ( srcPath[1].contains('core') ) {
RM_REPO = 'system'
} else if ( srcPath[1].contains('extra') ) {
RM_REPO = 'world'
}
}
}
PKG_TRUNK = buildInfo1[0] + '/trunk'
}
if ( entrySize == 3 && pkgCount == 2 ) {
def pkgEntry = changedPkgStatus[0].split()
def pkgStatus = pkgEntry[0]
def buildInfo1 = pkgPath[0].tokenize('/')
def buildInfo2 = pkgPath[1].tokenize('/')
if ( pkgStatus.contains('R') ) {
IS_ADD = 'true'
IS_REMOVE = 'true'
if ( pkgPath[0].contains('staging') ) {
RM_REPO = 'goblins'
}
if ( pkgPath[1].contains('testing') ) {
ADD_REPO = 'gremlins'
}
if ( pkgPath[1].contains('staging') ) {
RM_REPO = 'gremlins'
}
if ( pkgPath[0].contains('testing') ) {
ADD_REPO = 'goblins'
}
}
PKG_TRUNK = buildInfo1[0] + '/trunk'
}
if ( pkgCount == 1 ) {
def pkgEntry = changedPkgStatus[0].split()
def pkgStatus = pkgEntry[0]
def srcPath = pkgEntry[1]
def buildInfo = srcPath.tokenize('/')
if ( srcPath.contains('staging') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'goblins'
RM_REPO = ADD_REPO
} else if ( srcPath.contains('testing') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'gremlins'
RM_REPO = ADD_REPO
} else if ( srcPath.contains('core') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'system'
RM_REPO = ADD_REPO
} else if ( srcPath.contains('extra') ) {
if ( pkgStatus == 'A' || pkgStatus == 'M' ) {
IS_BUILD = 'true'
}
if ( pkgStatus == 'D' ) {
IS_REMOVE = 'true'
}
ADD_REPO = 'world'
RM_REPO = ADD_REPO
}
PKG_PATH = srcPath
PKG_TRUNK = buildInfo[0] + '/trunk'
}
}
}
}
}
stage('Build') {
environment {
BUILDBOT_GPGP = credentials('BUILDBOT_GPGP')
}
when {
expression { return IS_BUILD == 'true' }
}
steps {
dir("${PKG_PATH}") {
echo "buildpkg2 -r ${ADD_REPO}"
}
}
post {
success {
dir("${PKG_PATH}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
}
}
}
}
stage('Add') {
when {
expression { return IS_ADD == 'true' }
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -a -d ${ADD_REPO}"
}
}
}
stage('Remove') {
when {
expression { return IS_REMOVE == 'true' }
}
steps {
dir("${PKG_TRUNK}") {
echo "deploypkg2 -r -d ${RM_REPO}"
}
}
}
}
}

View File

@@ -2,9 +2,6 @@
################ artools-base ############### ################ artools-base ###############
############################################# #############################################
# default taget arch: auto detect
# target_arch=$(uname -m)
# build dir where buildpkg or buildiso chroots are created # build dir where buildpkg or buildiso chroots are created
# chroots_dir=/var/lib/artools # chroots_dir=/var/lib/artools
@@ -15,12 +12,12 @@
################ artools-pkg ################ ################ artools-pkg ################
############################################# #############################################
# artix package tree # to be removed
# repo_tree_artix=('system' 'world' 'galaxy' 'lib32') # repo_tree_artix=('packages' 'galaxy')
# host_tree_artix='https://github.com/artix-linux' # host_tree_artix='https://github.com/artix-linux'
# archlinux package tree # to be removed
# repo_tree_arch=('packages' 'community') # repo_tree_arch=('packages' 'community')
# host_tree_arch=git://projects.archlinux.org/svntogit # host_tree_arch=git://projects.archlinux.org/svntogit
@@ -32,6 +29,9 @@
################ artools-iso ################ ################ artools-iso ################
############################################# #############################################
# the iso storage directory
# iso_pool="${workspace_dir}/iso"
# the dist release; default: auto # the dist release; default: auto
# iso_version=$(date +%Y%m%d) # iso_version=$(date +%Y%m%d)
@@ -41,11 +41,14 @@
# unset defaults to given value # unset defaults to given value
# kernel="linux-lts" # kernel="linux-lts"
# custom additional kernel args
# kernel_args=""
# gpg key; leave empty or commented to skip sfs signing # gpg key; leave empty or commented to skip sfs signing
# gpgkey="" # gpgkey=""
# set upload bandwidth limit in kB/s # set upload bandwidth limit in kB/s
# limit=100 # uplimit=100
# the torrent tracker urls, comma separated # the torrent tracker urls, comma separated
# tracker_url='udp://mirror.strits.dk:6969' # tracker_url='udp://mirror.strits.dk:6969'

View File

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

View File

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

View File

@@ -8,8 +8,7 @@
# autologin="true" # autologin="true"
# service runlevels # service runlevels
# openrc_boot=('elogind') # services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
# openrc_default=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
# default values # default values
# addgroups="video,power,storage,optical,network,lp,scanner,wheel,users" # addgroups="video,power,storage,optical,network,lp,scanner,wheel,users"

View File

@@ -1,20 +1,32 @@
autoconf-archive autoconf-archive
cmocka
confuse confuse
dovecot
hub
hwinfo
jansson
libappindicator libappindicator
libbson
libdbi
libdbusmenu libdbusmenu
libftdi libftdi
libindicator libindicator
libdbi
libpgm
libsodium
zeromq
jansson
libnewt
libsass
sassc
libx86emu
hwinfo
yaml-cpp
libbson
libmongoc libmongoc
cmocka 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

View File

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

View File

@@ -0,0 +1,36 @@
autoconf-archive
cmocka
confuse
dovecot
hub
hwinfo
jansson
libappindicator
libbson
libdbi
libdbusmenu
libftdi
libindicator
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
lib32-fakeroot
lib32-libltdl

View File

@@ -0,0 +1,674 @@
### system ###
tzdata
iana-etc
linux-api-headers
binutils
glibc
gcc
attr
acl
ncurses
readline
# bash
sed
diffutils
expat
db
lz4
lzo
bzip2
gmp
mpfr
m4
gdbm
xz
zlib
file
zstd
icu
perl
openssl
openssl-1.0
autoconf
automake
dash
bison
ldns
less
libaio
libarchive
libassuan
libcap
libedit
libevent
libffi
libgcrypt
libgpg-error
libgssglue
libidn
libidn2
libksba
libmnl
libmpc
libnftnl
libnghttp2
libnl
libpcap
libpipeline
libpsl
libidn2
librpcsecgss
libseccomp
libsecret
libssh2
libtasn1
libtirpc
libtool
libunistring
pcre
glib2
grep
gzip
bridge-utils
ca-certificates
ca-certificates-cacert
coreutils
cracklib
dialog
ding-libs
dnssec-anchors
dosfstools
e2fsprogs
ed
efibootmgr
efivar
elfutils
fakeroot
findutils
flex
gawk
gettext
gnutls
gpgme
groff
hdparm
hwids
ifenslave
iproute2
iputils
iw
jfsutils
kbd
keyutils
#licenses
links
linux-atm
linux-firmware
make
man-pages
mkinitcpio-busybox
mkinitcpio-nfs-utils
nano
nettle
net-tools
nfsidmap
nilfs-utils
npth
nspr
nss
p11-kit
patch
pciutils
pinentry
pkcs11-helper
pkg-config
popt
pptpclient
procinfo-ng
psmisc
pth
reiserfsprogs
run-parts
sdparm
# s-nail
sqlite
sysfsutils
syslinux
tar
texinfo
thin-provisioning-tools
traceroute
usbutils
vi
which
wireless-regdb
wireless_tools
wpa_actiond
xfsprogs
zd1211-firmware
archlinux-keyring
b43-fwcutter
ipw2100-fw
ipw2200-fw
isdn4k-utils
curl
sudo
argon2
### world ###
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
convertlit
cpio
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
flac
fontconfig
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
intltool
iso-codes
itstool
jack
jasper
java8-openjdk
java-common
jbig2dec
jemalloc
js
# json-c
jsoncpp
json-glib
lame
lapack
lcms
lcms2
ldb
libaccounts-glib
libaccounts-qt
libao
libass
libasyncns
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
# libsndfile
libsoup
libsoxr
libspiro
libsrtp
libssh
libtar
# libthai
libtheora
libtiff
libtommath
libunwind
libupnp
libusb-compat
libusbmuxd
libutempter
libuv
libva
libvdpau
libvisual
libvorbis
libvpx
libwebp
libwmf
libx11
libxau
libxaw
# libxcb
libxcomposite
libxcursor
libxdamage
# libxdmcp
libxext
libxfixes
libxfont2
libxft
libxi
libxinerama
libxkbcommon
libxkbfile
libxml2
libxmu
libxpm
libxrandr
libxrender
libxres
libxshmfence
libxslt
libxss
libxt
libxtst
libxv
libxvmc
libxxf86vm
libyaml
libzip
lirc
llvm
lmdb
lua
xorgproto
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
qt5-connectivity
qt5-datavis3d
qt5-declarative
qt5-doc
qt5-examples
qt5-gamepad
qt5-graphicaleffects
qt5-imageformats
qt5-location
qt5-multimedia
qt5-networkauth
qt5-quickcontrols
qt5-quickcontrols2
qt5-remoteobjects
qt5-script
qt5-scxml
qt5-sensors
qt5-serialbus
qt5-serialport
qt5-speech
qt5-svg
qt5-tools
qt5-translations
qt5-virtualkeyboard
qt5-wayland
qt5-webchannel
qt5-webengine
qt5-webkit
qt5-websockets
qt5-webview
qt5-x11extras
qt5-xmlpatterns
ruby
schroedinger
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
vid.stab
volume_key
vte
vte3
wavpack
wayland
wayland-protocols
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
xf86-input-libinput
xf86-video-dummy
xf86-video-fbdev
xf86-video-sisusb
xf86-video-vesa
xf86-video-vmware
xf86-video-voodoo
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
xorg-xmessage
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xset
xorg-xsetroot
xterm
xvidcore
yajl
yelp-tools
yelp-xsl
zip
zita-alsa-pcmi
zita-resampler
zsh
zvbi
zziplib
re2
geoip-database
mercurial

View File

@@ -44,6 +44,7 @@ libgcrypt
libgpg-error libgpg-error
libgssglue libgssglue
libidn libidn
libidn2
libksba libksba
libmnl libmnl
libmpc libmpc
@@ -53,6 +54,7 @@ libnl
libpcap libpcap
libpipeline libpipeline
libpsl libpsl
libidn2
librpcsecgss librpcsecgss
libseccomp libseccomp
libsecret libsecret
@@ -96,7 +98,7 @@ iw
jfsutils jfsutils
kbd kbd
keyutils keyutils
licenses #licenses
links links
linux-atm linux-atm
linux-firmware linux-firmware
@@ -126,7 +128,7 @@ pth
reiserfsprogs reiserfsprogs
run-parts run-parts
sdparm sdparm
s-nail # s-nail
sqlite sqlite
sysfsutils sysfsutils
syslinux syslinux
@@ -149,3 +151,4 @@ ipw2200-fw
isdn4k-utils isdn4k-utils
curl curl
sudo 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 libasyncns
libblockdev libatomic_ops
libavc1394
libbluray
libbsd
libburn
libbytesize libbytesize
libcaca
libcanberra
libcap-ng libcap-ng
libcddb
libcdio
libcdio-paranoia
# libconfig
libcroco libcroco
libcue
libdaemon libdaemon
libdatrie libdatrie
libdbusmenu-qt
libdca
libdmtx
libdrm libdrm
libdv
libdvbpsi
libdvdcss
libdvdnav
libdvdread
libebml
libepoxy libepoxy
libevdev
libexif libexif
libfontenc libfontenc
libgee
libgit2
libglade
libglvnd libglvnd
libgphoto2 libgphoto2
libgusb
libical libical
libice libice
libid3tag
libiec61883
libieee1284 libieee1284
libimobiledevice libimobiledevice
libiscsi libiscsi
libisoburn
libisofs
libjpeg-turbo libjpeg-turbo
liblouis
liblqr
libmad
libmatroska
libmng
libmodplug
libmpeg2
libmspack
libmtp
libndp
libnotify
# libogg
libomxil-bellagio libomxil-bellagio
libpaper libpaper
libpciaccess libpciaccess
libplist libplist
libpng libpng
libproxy libproxy
libpwquality
libqalculate
libqmi
libraqm
# libraw1394
librsvg librsvg
libsamplerate
libshout
libsigc++
libsigsegv
libsm libsm
libthai # libsndfile
libsoup
libsoxr
libspiro
libsrtp
libssh
libtar
# libthai
libtheora
libtiff libtiff
libtommath
libtxc_dxtn libtxc_dxtn
libunwind libunwind
libupnp
libusb-compat libusb-compat
libusbmuxd libusbmuxd
libutempter
libuv
libva
libvdpau
libvisual
libvorbis
libvpx
libwebp libwebp
libwmf
libx11 libx11
libxau libxau
libxaw libxaw
libxcb # libxcb
libxcomposite libxcomposite
libxcursor libxcursor
libxdamage libxdamage
libxdmcp # libxdmcp
libxext libxext
libxfixes libxfixes
libxfont
libxfont2 libxfont2
libxft libxft
libxi libxi
@@ -54,22 +248,132 @@ libxmu
libxpm libxpm
libxrandr libxrandr
libxrender libxrender
libxres
libxshmfence libxshmfence
libxslt libxslt
libxss
libxt libxt
libxtst libxtst
libxv
libxvmc
libxxf86vm libxxf86vm
libgusb libyaml
liblouis libzip
libraqm
liblqr
libuv
libqmi
glib-networking
gsettings-desktop-schemas
slang
dbus-python
lirc 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-3d
qt5-canvas3d qt5-canvas3d
qt5-charts qt5-charts
@@ -105,226 +409,120 @@ qt5-websockets
qt5-webview qt5-webview
qt5-x11extras qt5-x11extras
qt5-xmlpatterns 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
pyalpm
python-pyelftools
python-numpy
randrproto randrproto
recordproto recordproto
renderproto renderproto
re2
ruby
schroedinger
scrnsaverproto
sdl
sdl2
sdl_image
sdl_sound
serf serf
sgml-common sgml-common
shared-mime-info shared-mime-info
slang
snappy
snowball
socat
source-highlight source-highlight
speech-dispatcher
speex
speexdsp speexdsp
startup-notification
t1lib
taglib
talloc
tcl
tdb
tevent
texlive-bin
texlive-core
texlive-formatsextra
texlive-latexextra
texlive-pictures
texlive-science
tslib tslib
ttf-bitstream-vera
ttf-dejavu
ttf-hack
ttf-indic-otf
unixodbc
unzip
#usbmuxd
v4l-utils v4l-utils
vala vala
valgrind valgrind
videoproto
vid.stab
volume_key volume_key
vte3
vte vte
vte3
wavpack
wayland wayland
wayland-protocols wayland-protocols
xcb-proto webrtc-audio-processing
xcb-util wget
xcb-util-image whois
xcb-util-keysyms wxgtk
xcb-util-renderutil x265
xcb-util-wm 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 xextproto
xf86-input-libinput
xf86-video-dummy
xf86-video-fbdev
xf86-video-sisusb
xf86-video-vesa
xf86-video-vmware
xf86-video-voodoo
xf86vidmodeproto xf86vidmodeproto
xineramaproto xineramaproto
xkeyboard-config xkeyboard-config
xmlto
xorg-bdftopcf xorg-bdftopcf
xorg-fonts-alias xorg-fonts-alias
xorg-fonts-encodings xorg-fonts-encodings
xorg-fonts-misc xorg-fonts-misc
xorg-font-util xorg-font-util
xorg-font-utils xorg-font-utils
xorg-luit
xorg-mkfontdir xorg-mkfontdir
xorg-mkfontscale xorg-mkfontscale
xorg-setxkbmap xorg-setxkbmap
xorg-twm
xorg-util-macros
xorg-xauth
xorg-xinit
xorg-xkbcomp xorg-xkbcomp
xproto xorg-xmessage
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xset
xorg-xsetroot
# xproto
xterm
xvidcore
yajl
yelp-tools yelp-tools
yelp-xsl yelp-xsl
cmake zip
jemalloc
jsoncpp
fribidi
js
imagemagick
poppler
bc
xdg-utils
xf86-input-libinput
assimp
cdparanoia
cifs-utils
ffmpeg
flac
gamin
gcab
giblib
gsm
gst-plugins-base
gstreamer
gtk2
hunspell
hyphen
imlib2
iniparser
iso-codes
jack
lame
ldb
libass
libavc1394
libbluray
libbsd
libevdev
libgee
libid3tag
libiec61883
libmng
libmodplug
libndp
libnotify
libogg
libraw1394
libsamplerate
libsigsegv
libsndfile
libsoup
libsoxr
libsrtp
libssh
libteam
libtheora
libva
libvdpau
libvisual
libvorbis
libvpx
libxss
libxv
libxvmc
libyaml
ocl-icd
openal
opencore-amr
openjpeg2
opus
orc
perl-file-which
potrace
protobuf
scrnsaverproto
sdl2
snappy
speex
t1lib
talloc
tdb
tevent
texlive-bin
texlive-core
texlive-latexextra
ttf-dejavu
usbmuxd
videoproto
vid.stab
webrtc-audio-processing
x265
xorg-xauth
xorg-xset
xvidcore
zita-alsa-pcmi zita-alsa-pcmi
zita-resampler zita-resampler
zsh
zvbi
zziplib zziplib
xmlto geoip-database
namcap mercurial
unzip
zip
gperf
gperftools
double-conversion
lapack
texlive-formatsextra
texlive-pictures
texlive-science
nasm

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

@@ -34,7 +34,7 @@ Architecture = auto
#Color #Color
#TotalDownload #TotalDownload
CheckSpace CheckSpace
#VerbosePkgLists VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring # 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. # trusts (see pacman-key and its man page), as well as unsigned packages.
@@ -73,11 +73,9 @@ Include = /etc/pacman.d/mirrorlist
[galaxy] [galaxy]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for #
# tips on creating your own repositories. # ARCHLINUX
#[custom] #
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
[extra] [extra]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch

108
data/pacman-goblins.conf Normal file
View File

@@ -0,0 +1,108 @@
#
# /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.
[goblins]
Include = /etc/pacman.d/mirrorlist
[gremlins]
Include = /etc/pacman.d/mirrorlist
[system]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy-goblins]
Include = /etc/pacman.d/mirrorlist
[galaxy-gremlins]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
#
# ARCHLINUX
#
[staging]
Include = /etc/pacman.d/mirrorlist-arch
[testing]
Include = /etc/pacman.d/mirrorlist-arch
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community-staging]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch

96
data/pacman-gremlins.conf Normal file
View File

@@ -0,0 +1,96 @@
#
# /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.
[gremlins]
Include = /etc/pacman.d/mirrorlist
[system]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy-gremlins]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
#
# ARCHLINUX
#
[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

@@ -34,7 +34,7 @@ Architecture = auto
#Color #Color
#TotalDownload #TotalDownload
CheckSpace CheckSpace
#VerbosePkgLists VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring # 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. # trusts (see pacman-key and its man page), as well as unsigned packages.
@@ -64,38 +64,42 @@ LocalFileSigLevel = Optional
# The header [repo-name] is crucial - it must be present and # The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo. # uncommented to enable the repo.
[system-testing] [goblins]
Include = /etc/pacman.d/mirrorlist
[gremlins]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[system] [system]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[world-testing]
Include = /etc/pacman.d/mirrorlist
[world] [world]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[galaxy-testing] [galaxy-goblins]
Include = /etc/pacman.d/mirrorlist
[galaxy-gremlins]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[galaxy] [galaxy]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system, [lib32-goblins]
# enable the lib32 repositories as required here. Include = /etc/pacman.d/mirrorlist
[lib32-testing] [lib32-gremlins]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
[lib32] [lib32]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for #
# tips on creating your own repositories. # ARCHLINUX
#[custom] #
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs [staging]
Include = /etc/pacman.d/mirrorlist-arch
[testing] [testing]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch
@@ -103,12 +107,18 @@ Include = /etc/pacman.d/mirrorlist-arch
[extra] [extra]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch
[community-staging]
Include = /etc/pacman.d/mirrorlist-arch
[community-testing] [community-testing]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch
[community] [community]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch
[multilib-staging]
Include = /etc/pacman.d/mirrorlist-arch
[multilib-testing] [multilib-testing]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -0,0 +1,108 @@
#
# /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.
[gremlins]
Include = /etc/pacman.d/mirrorlist
[system]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy-gremlins]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
[lib32-gremlins]
Include = /etc/pacman.d/mirrorlist
[lib32]
Include = /etc/pacman.d/mirrorlist
#
# ARCHLINUX
#
[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
[multilib-testing]
Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -34,7 +34,7 @@ Architecture = auto
#Color #Color
#TotalDownload #TotalDownload
CheckSpace CheckSpace
#VerbosePkgLists VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring # 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. # trusts (see pacman-key and its man page), as well as unsigned packages.
@@ -73,17 +73,12 @@ Include = /etc/pacman.d/mirrorlist
[galaxy] [galaxy]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the lib32 repositories as required here.
[lib32] [lib32]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for #
# tips on creating your own repositories. # ARCHLINUX
#[custom] #
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
[extra] [extra]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -34,7 +34,7 @@ Architecture = auto
#Color #Color
#TotalDownload #TotalDownload
CheckSpace CheckSpace
#VerbosePkgLists VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring # 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. # trusts (see pacman-key and its man page), as well as unsigned packages.
@@ -82,11 +82,15 @@ Include = /etc/pacman.d/mirrorlist
[galaxy] [galaxy]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for [lib32-testing]
# tips on creating your own repositories. Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll [lib32]
#Server = file:///home/custompkgs Include = /etc/pacman.d/mirrorlist
#
# ARCHLINUX
#
[testing] [testing]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch
@@ -99,3 +103,9 @@ Include = /etc/pacman.d/mirrorlist-arch
[community] [community]
Include = /etc/pacman.d/mirrorlist-arch Include = /etc/pacman.d/mirrorlist-arch
[multilib-testing]
Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

90
data/pacman.conf Normal file
View File

@@ -0,0 +1,90 @@
#
# /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
[lib32]
Include = /etc/pacman.d/mirrorlist
#
# ARCHLINUX
#
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch
[multilib]
Include = /etc/pacman.d/mirrorlist-arch

View File

@@ -1,5 +1,5 @@
--- /dev/null --- /dev/null
+++ b/bash/artix.bashrc +++ b/artix.bashrc
@@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
+use_color=true +use_color=true
+ +
@@ -47,3 +47,41 @@
+fi +fi
+ +
+unset use_color safe_term match_lhs sh +unset use_color safe_term match_lhs sh
--- a/dot.bashrc
+++ b/dot.bashrc
@@ -5,5 +5,5 @@
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
-alias ls='ls --color=auto'
-PS1='[\u@\h \W]\$ '
+# alias ls='ls --color=auto'
+# PS1='[\u@\h \W]\$ '
--- a/system.bashrc
+++ a/system.bashrc
@@ -1,5 +1,5 @@
#
-# /etc/bash.bashrc
+# /etc/bash/bashrc
#
# If not running interactively, don't do anything
@@ -19,4 +19,8 @@
;;
esac
+for sh in /etc/bash/bashrc.d/*.bashrc ; do
+ [[ -r ${sh} ]] && source "${sh}"
+done
+
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
--- a/system.bash_logout
+++ a/system.bash_logout
@@ -1,3 +1,3 @@
#
-# /etc/bash.bash_logout
+# /etc/bash/bash_logout
#

View File

@@ -1,11 +0,0 @@
--- a/bash/dot.bashrc
+++ b/bash/dot.bashrc
@@ -5,5 +5,5 @@
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
-alias ls='ls --color=auto'
-PS1='[\u@\h \W]\$ '
+# alias ls='ls --color=auto'
+# PS1='[\u@\h \W]\$ '

View File

@@ -1,19 +0,0 @@
--- a/bash/system.bashrc
+++ a/bash/system.bashrc
@@ -1,5 +1,5 @@
#
-# /etc/bash.bashrc
+# /etc/bash/bashrc
#
# If not running interactively, don't do anything
@@ -19,4 +19,8 @@
;;
esac
+for sh in /etc/bash/bashrc.d/*.bashrc ; do
+ [[ -r ${sh} ]] && source "${sh}"
+done
+
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion

View File

@@ -1,8 +0,0 @@
--- a/bash/system.bash_logout
+++ a/bash/system.bash_logout
@@ -1,3 +1,3 @@
#
-# /etc/bash.bash_logout
+# /etc/bash/bash_logout
#

View File

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

View File

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

View File

@@ -44,21 +44,19 @@ load_profile(){
[[ -z ${password} ]] && password="artix" [[ -z ${password} ]] && password="artix"
if [[ -z ${addgroups} ]];then 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 fi
if [[ -z ${openrc_boot[@]} ]];then if [[ -z ${services[@]} ]];then
openrc_boot=('elogind') services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
fi fi
if [[ -z ${openrc_default[@]} ]];then [[ ${displaymanager} != "none" ]] && services+=('xdm')
openrc_default=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
if [[ -z ${services_live[@]} ]];then
services_live=('artix-live' 'pacman-init')
fi fi
[[ ${displaymanager} != "none" ]] && openrc_default+=('xdm')
enable_live=('artix-live' 'pacman-init')
[[ -z ${netgroups_url} ]] && netgroups_url="https://raw.githubusercontent.com/artix-linux/netgroups/master" [[ -z ${netgroups_url} ]] && netgroups_url="https://raw.githubusercontent.com/artix-linux/netgroups/master"
return 0 return 0
@@ -84,9 +82,8 @@ write_live_session_conf(){
echo "addgroups='${addgroups}'" >> ${conf} echo "addgroups='${addgroups}'" >> ${conf}
} }
# $1: file name
load_pkgs(){ load_pkgs(){
local pkglist="$1" arch="$2" init="$3" _kv="$4" local pkglist="$1" init="$2" _kv="$3"
info "Loading Packages: [%s] ..." "${pkglist##*/}" info "Loading Packages: [%s] ..." "${pkglist##*/}"
local _init="s|>$init||g" local _init="s|>$init||g"
@@ -96,13 +93,6 @@ load_pkgs(){
'runit') _init_rm1="s|>s6.*||g"; _init_rm2="s|>openrc.*||g" ;; 'runit') _init_rm1="s|>s6.*||g"; _init_rm2="s|>openrc.*||g" ;;
esac 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" \ local _blacklist="s|>blacklist.*||g" \
_kernel="s|KERNEL|$_kv|g" \ _kernel="s|KERNEL|$_kv|g" \
_space="s| ||g" \ _space="s| ||g" \
@@ -116,8 +106,6 @@ load_pkgs(){
| sed "$_init" \ | sed "$_init" \
| sed "$_init_rm1" \ | sed "$_init_rm1" \
| sed "$_init_rm2" \ | sed "$_init_rm2" \
| sed "$_arch" \
| sed "$_arch_rm" \
| sed "$_kernel" \ | sed "$_kernel" \
| sed "$_clean")) | sed "$_clean"))
} }

View File

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

View File

@@ -9,24 +9,14 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
get_preset(){
local p=/tmp/${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(){ write_bootloader_conf(){
local conf="$1/bootloader.conf" efi_boot_loader='grub' local conf="$1/bootloader.conf"
msg2 "Writing %s ..." "${conf##*/}" msg2 "Writing %s ..." "${conf##*/}"
source "$(get_preset)"
echo '---' > "$conf" echo '---' > "$conf"
echo "efiBootLoader: \"${efi_boot_loader}\"" >> "$conf" echo "efiBootLoader: \"grub\"" >> "$conf"
echo "kernel: \"${ALL_kver#*/boot}\"" >> "$conf" echo "kernel: \"/vmlinuz-$kernel-${target_arch}\"" >> "$conf"
echo "img: \"${default_image#*/boot}\"" >> "$conf" echo "img: \"/initramfs-$kernel-${target_arch}.img\"" >> "$conf"
echo "fallback: \"${fallback_image#*/boot}\"" >> "$conf" echo "fallback: \"/initramfs-$kernel-${target_arch}-fallback.img\"" >> "$conf"
echo 'timeout: "10"' >> "$conf" echo 'timeout: "10"' >> "$conf"
echo "kernelLine: \", with ${kernel}\"" >> "$conf" echo "kernelLine: \", with ${kernel}\"" >> "$conf"
echo "fallbackKernelLine: \", with ${kernel} (fallback initramfs)\"" >> "$conf" echo "fallbackKernelLine: \", with ${kernel} (fallback initramfs)\"" >> "$conf"
@@ -43,11 +33,7 @@ write_servicescfg_conf(){
echo '' >> "$conf" echo '' >> "$conf"
echo 'services:' >> "$conf" echo 'services:' >> "$conf"
echo ' enabled:' >> "$conf" echo ' enabled:' >> "$conf"
for s in ${openrc_boot[@]};do for s in ${services[@]};do
echo " - name: $s" >> "$conf"
echo ' runlevel: boot' >> "$conf"
done
for s in ${openrc_default[@]};do
echo " - name: $s" >> "$conf" echo " - name: $s" >> "$conf"
echo ' runlevel: default' >> "$conf" echo ' runlevel: default' >> "$conf"
done done
@@ -86,17 +72,33 @@ write_netinstall_conf(){
echo "groupsUrl: ${netgroups}" >> "$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(){ configure_calamares(){
local modules_dir="$1" local dest="$1" mods="$1/etc/calamares/modules"
if [[ -d $modules_dir ]];then if [[ -d $dest/etc/calamares/modules ]];then
info "Configuring [Calamares]" info "Configuring [Calamares]"
write_users_conf "$modules_dir" write_netinstall_conf "$mods"
write_netinstall_conf "$modules_dir" write_unpack_conf "$mods"
write_initcpio_conf "$modules_dir" write_users_conf "$mods"
write_initcpio_conf "$mods"
case ${initsys} in case ${initsys} in
'openrc') write_servicescfg_conf "$modules_dir" ;; 'openrc') write_servicescfg_conf "$mods" ;;
esac esac
write_bootloader_conf "$modules_dir" write_bootloader_conf "$mods"
info "Done configuring [Calamares]" info "Done configuring [Calamares]"
fi fi
} }

View File

@@ -165,14 +165,11 @@ configure_services(){
info "Configuring [%s]" "${initsys}" info "Configuring [%s]" "${initsys}"
case ${initsys} in case ${initsys} in
'openrc') 'openrc')
for svc in ${openrc_boot[@]}; do for svc in ${services[@]}; do
add_svc_rc "$mnt" "$svc" "boot"
done
for svc in ${openrc_default[@]}; do
[[ $svc == "xdm" ]] && set_xdm "$mnt" [[ $svc == "xdm" ]] && set_xdm "$mnt"
add_svc_rc "$mnt" "$svc" "default" add_svc_rc "$mnt" "$svc" "default"
done done
for svc in ${enable_live[@]}; do for svc in ${services_live[@]}; do
add_svc_rc "$mnt" "$svc" "default" add_svc_rc "$mnt" "$svc" "default"
done done
;; ;;
@@ -245,7 +242,7 @@ configure_live_image(){
configure_hosts "$fs" configure_hosts "$fs"
configure_system "$fs" configure_system "$fs"
configure_services "$fs" configure_services "$fs"
configure_calamares "$fs/etc/calamares/modules" configure_calamares "$fs"
write_live_session_conf "$fs" write_live_session_conf "$fs"
msg "Done configuring [livefs]" msg "Done configuring [livefs]"
} }
@@ -524,14 +521,14 @@ compress_images(){
prepare_images(){ prepare_images(){
local timer=$(get_timer) local timer=$(get_timer)
load_pkgs "${root_list}" "${target_arch}" "${initsys}" "${kernel}" load_pkgs "${root_list}" "${initsys}" "${kernel}"
run_safe "make_rootfs" run_safe "make_rootfs"
if [[ -f "${desktop_list}" ]] ; then if [[ -f "${desktop_list}" ]] ; then
load_pkgs "${desktop_list}" "${target_arch}" "${initsys}" "${kernel}" load_pkgs "${desktop_list}" "${initsys}" "${kernel}"
run_safe "make_desktopfs" run_safe "make_desktopfs"
fi fi
if [[ -f ${live_list} ]]; then if [[ -f ${live_list} ]]; then
load_pkgs "${live_list}" "${target_arch}" "${initsys}" "${kernel}" load_pkgs "${live_list}" "${initsys}" "${kernel}"
run_safe "make_livefs" run_safe "make_livefs"
fi fi
run_safe "make_bootfs" run_safe "make_bootfs"

View File

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

View File

@@ -99,27 +99,27 @@ patch_pkg(){
-e '/nscd.service/d' \ -e '/nscd.service/d' \
-i $pkg/PKGBUILD -i $pkg/PKGBUILD
;; ;;
'bash') # 'bash')
sed -e 's|system.bash_logout)|system.bash_logout\n artix.bashrc)|' \ # sed -e 's|system.bash_logout)|system.bash_logout\n artix.bashrc)|' \
-e 's|etc/bash.|etc/bash/|g' \ # -e 's|etc/bash.|etc/bash/|g' \
-e 's|install -dm755 "$pkgdir"/etc/skel/|install -dm755 "$pkgdir"/etc/{skel,bash/bashrc.d}/|' \ # -e 's|install -dm755 "$pkgdir"/etc/skel/|install -dm755 "$pkgdir"/etc/{skel,bash/bashrc.d}/|' \
-e 's|/etc/skel/.bash_logout|/etc/skel/.bash_logout\n install -m644 artix.bashrc "$pkgdir"/etc/bash/bashrc.d/artix.bashrc|' \ # -e 's|/etc/skel/.bash_logout|/etc/skel/.bash_logout\n install -m644 artix.bashrc "$pkgdir"/etc/bash/bashrc.d/artix.bashrc|' \
-i $pkg/PKGBUILD # -i $pkg/PKGBUILD
#
patch -p1 -i $DATADIR/patches/dot-bashrc.patch # cd $pkg
patch -p1 -i $DATADIR/patches/system-bashrc.patch # patch -p1 -i $DATADIR/patches/artix-bash.patch
patch -p1 -i $DATADIR/patches/system-bashrc_logout.patch # updpkgsums
patch -p1 -i $DATADIR/patches/artix-bashrc.patch # cd ..
cd $pkg # ;;
updpkgsums 'tp_smapi'|'acpi_call'|'r8168')
cd .. sed -e 's|-ARCH|-ARTIX|g' -i $pkg/PKGBUILD
;; ;;
esac esac
} }
set_import_path(){ get_import_path(){
local arch_dir arch_repo import_path local arch_dir arch_repo import_path
local repo="$1" pkg="$2" local repo="$1" pkg="$2" src=
case $repo in case $repo in
system|world) system|world)
arch_dir=packages arch_dir=packages
@@ -141,22 +141,14 @@ set_import_path(){
[[ -d $import_path-testing-any ]] && src=$import_path-testing-any [[ -d $import_path-testing-any ]] && src=$import_path-testing-any
;; ;;
lib32) lib32)
if [[ "$pkg" == 'llvm' ]];then arch_repo=multilib
arch_repo=extra arch_dir=community
arch_dir=packages import_path=${tree_dir_arch}/$arch_dir/$pkg/repos
import_path=${tree_dir_arch}/$arch_dir/$pkg/repos src=$import_path/$arch_repo-x86_64
src=$import_path/extra-x86_64 [[ -d $import_path/$arch_repo-testing-x86_64 ]] && src=$import_path/$arch_repo-testing-x86_64
[[ -d $import_path/testing-x86_64 ]] && src=$import_path/testing-x86_64
else
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
fi
;; ;;
esac esac
# info "src: %s" "$src" echo $src
} }
show_version_table(){ show_version_table(){
@@ -168,7 +160,7 @@ show_version_table(){
source $pkg/PKGBUILD 2>/dev/null source $pkg/PKGBUILD 2>/dev/null
package=${pkg##*/} package=${pkg##*/}
artixver=$(get_full_version $package) artixver=$(get_full_version $package)
set_import_path "$repo" "$package" local src=$(get_import_path "$repo" "$package")
if [[ -f $src/PKGBUILD ]];then if [[ -f $src/PKGBUILD ]];then
source $src/PKGBUILD 2>/dev/null source $src/PKGBUILD 2>/dev/null
archver=$(get_full_version $package) archver=$(get_full_version $package)
@@ -196,18 +188,21 @@ import_from_arch(){
$(is_dirty) && die "[%s] has uncommited changes!" "${repo}" $(is_dirty) && die "[%s] has uncommited changes!" "${repo}"
git pull origin "$branch" git pull origin "$branch"
for pkg in ${import_list[@]};do for pkg in ${import_list[@]};do
set_import_path "$repo" "$pkg" local src=$(get_import_path "$repo" "$pkg") dest=${tree_dir_artix}/$repo/$pkg
source $src/PKGBUILD 2>/dev/null source $src/PKGBUILD 2>/dev/null
local ver=$(get_full_version $pkg) local ver=$(get_full_version $pkg)
msg "Package: %s-%s" "$pkg" "$ver" msg "Package: %s-%s" "$pkg" "$ver"
rsync "${rsync_args[@]}" $src/ ${tree_dir_artix}/$repo/$pkg/ msg2 "src: %s" "$src"
msg2 "dest: %s" "$dest"
rsync "${rsync_args[@]}" $src/ $dest/
patch_pkg "$pkg" patch_pkg "$pkg"
if ${push};then # if ${push};then
git add "$pkg" # local timeout=10
git commit -m "$pkg-$ver" # git add "$pkg"
sleep 10 # git commit -m "$pkg-$ver"
git push origin "$branch" # sleep $timeout
fi # git push origin "$branch"
# fi
unset pkgver epoch pkgrel ver unset pkgver epoch pkgrel ver
done done
fi fi

View File

@@ -37,14 +37,14 @@ pkgver_equal() {
} }
find_cached_package() { find_cached_package() {
local searchdirs=("$PWD" "$PKGDEST") results=() local searchdirs=("$PKGDEST" "$PWD") results=()
local targetname=$1 targetver=$2 targetarch=$3 local targetname=$1 targetver=$2 targetarch=$3
local dir pkg pkgbasename name ver rel arch r results local dir pkg pkgbasename name ver rel arch r results
for dir in "${searchdirs[@]}"; do for dir in "${searchdirs[@]}"; do
[[ -d $dir ]] || continue [[ -d $dir ]] || continue
for pkg in "$dir"/*.pkg.tar.xz; do for pkg in "$dir"/*.pkg.tar.?z; do
[[ -f $pkg ]] || continue [[ -f $pkg ]] || continue
# avoid adding duplicates of the same inode # avoid adding duplicates of the same inode
@@ -54,7 +54,7 @@ find_cached_package() {
# split apart package filename into parts # split apart package filename into parts
pkgbasename=${pkg##*/} pkgbasename=${pkg##*/}
pkgbasename=${pkgbasename%.pkg.tar?(.?z)} pkgbasename=${pkgbasename%.pkg.tar.?z}
arch=${pkgbasename##*-} arch=${pkgbasename##*-}
pkgbasename=${pkgbasename%-"$arch"} pkgbasename=${pkgbasename%-"$arch"}
@@ -77,7 +77,7 @@ find_cached_package() {
return 1 return 1
;; ;;
1) 1)
printf '%s\n' "$results" printf '%s\n' "${results[0]}"
return 0 return 0
;; ;;
*) *)

View File

@@ -27,7 +27,7 @@ load_vars() {
[[ -f $1 ]] || return 1 [[ -f $1 ]] || return 1
for var in {SRC,SRCPKG,PKG,LOG}DEST MAKEFLAGS PACKAGER CARCH GPGKEY; do for var in {SRC,SRCPKG,PKG,LOG}DEST MAKEFLAGS PACKAGER CARCH GPGKEY; do
[[ -z ${!var} ]] && eval $(grep -a "^${var}=" "$1") [[ -z ${!var:-} ]] && eval "$(grep -a "^${var}=" "$1")"
done done
return 0 return 0
@@ -54,7 +54,7 @@ get_osid(){
init_artools_base(){ init_artools_base(){
[[ -z ${target_arch} ]] && target_arch=$(uname -m) target_arch=$(uname -m)
[[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools' [[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools'
@@ -67,12 +67,14 @@ init_artools_pkg(){
[[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix [[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix
# to be removed
[[ -z ${repo_tree_artix[@]} ]] && repo_tree_artix=('system' 'world' 'galaxy' 'lib32') [[ -z ${repo_tree_artix[@]} ]] && repo_tree_artix=('system' 'world' 'galaxy' 'lib32')
[[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux' [[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux'
[[ -z ${tree_dir_arch} ]] && tree_dir_arch=${workspace_dir}/archlinux [[ -z ${tree_dir_arch} ]] && tree_dir_arch=${workspace_dir}/archlinux
# to be removed
[[ -z ${repo_tree_arch} ]] && repo_tree_arch=('packages' 'community') [[ -z ${repo_tree_arch} ]] && repo_tree_arch=('packages' 'community')
[[ -z ${host_tree_arch} ]] && host_tree_arch='git://projects.archlinux.org/svntogit' [[ -z ${host_tree_arch} ]] && host_tree_arch='git://projects.archlinux.org/svntogit'
@@ -91,9 +93,9 @@ init_artools_pkg(){
init_artools_iso(){ init_artools_iso(){
chroots_iso="${chroots_dir}/buildiso" 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' profile='base'
@@ -107,6 +109,8 @@ init_artools_iso(){
[[ -z ${kernel} ]] && kernel="linux-lts" [[ -z ${kernel} ]] && kernel="linux-lts"
[[ -z ${kernel_args} ]] && kernel_args=""
[[ -z ${gpgkey} ]] && gpgkey='' [[ -z ${gpgkey} ]] && gpgkey=''
[[ -z ${uplimit} ]] && uplimit=100 [[ -z ${uplimit} ]] && uplimit=100