Compare commits

...

41 Commits
0.4.1 ... 0.5.3

Author SHA1 Message Date
artoo
afa239995c Merge pull request #28 from artix-linux/devel
Devel-0.5.3
2017-08-18 01:14:53 +02:00
udeved
0b4a4840e3 update readme 2017-08-18 01:14:09 +02:00
udeved
034e5a0a82 util: #18 2017-08-18 01:11:31 +02:00
udeved
d2590ddd74 util-profile: adopt system wide base profile 2017-08-18 01:10:50 +02:00
udeved
2975de2fb5 buildtree: prepare to drop import repos 2017-08-17 23:46:26 +02:00
udeved
b9383b628c remove pkglist.d 2017-08-17 11:53:01 +02:00
artoo
01bc8673c4 Merge pull request #27 from artix-linux/devel
Devel
2017-08-17 02:24:35 +02:00
udeved
0fcdc6af63 Makefile: add repo_info file 2017-08-17 02:04:16 +02:00
udeved
5ae9803be1 add iso base profile 2017-08-17 01:50:02 +02:00
udeved
b36ffd813e buildpkg: tweak chroots and pkg dir 2017-08-17 01:13:26 +02:00
artoo
fb0ad6d51f Merge pull request #26 from artix-linux/devel
Devel
2017-08-16 21:25:47 +02:00
udeved
3beb019d7c buildpkg: add switch for pkg copy/symlink 2017-08-16 21:22:49 +02:00
udeved
331520a3d6 update world-arch and galaxy-arch import list 2017-08-16 20:53:17 +02:00
udeved
ee196e84c7 update world-arch import 2017-08-16 20:29:52 +02:00
udeved
de6149a5bc rm sane 2017-08-16 20:21:17 +02:00
udeved
524ba5fe47 update import lists 2017-08-16 20:10:43 +02:00
udeved
b0169fc1b8 buildpkg: use $repo-$arch chroots and pool dirs
deploypkg: add option to copy a package instead of symlinking to repo
2017-08-16 17:01:29 +02:00
udeved
50577f0501 buildpkg: rm left over vars 2017-08-16 15:39:59 +02:00
udeved
9eb8ad06e2 buildpkg: clean up 2017-08-16 10:57:42 +02:00
udeved
a4bc7c5b01 buildpkg: allow pacman.conf and makepkg.conf overrides for jenkins 2017-08-16 01:37:30 +02:00
udeved
a050b76d8e buildtree: remove artix main repo sync 2017-08-14 23:23:55 +02:00
udeved
adc4fa6724 mkchrootpkg: export LAN explicity
fixes #24
but needs still closer look why the LANG is not set by /etc/locale.conf
2017-08-14 18:04:21 +02:00
artoo
e52f9b577e Merge pull request #22 from artix-linux/devel
Devel-0.5
2017-08-06 02:19:23 +02:00
udeved
31baa79248 start 0.5 2017-08-06 01:59:03 +02:00
udeved
fb1cead10a buildtree: pull testing optionally 2017-08-06 00:31:14 +02:00
artoo
01e37feb4e Merge pull request #21 from artix-linux/devel
buildtree: improve import
2017-08-05 22:32:02 +02:00
udeved
25e2755ffa buildtree: improve import 2017-08-05 22:20:44 +02:00
udeved
03fc8aea26 buildtree: adopt new arch import repos 2017-08-05 20:49:03 +02:00
udeved
fcc006f30f util-pkg-tree: just pull master and archlinux 2017-08-03 22:58:18 +02:00
artoo
525460b6ed Merge pull request #19 from artix-linux/devel
Devel-0.4.2
2017-08-02 23:47:41 +02:00
udeved
b0166d330e deploypkg: fix typos 2017-08-02 23:46:04 +02:00
udeved
cb4f83d765 cleaning 2017-08-02 23:32:33 +02:00
udeved
3134c3a4e8 deploypkg: add move mode 2017-08-02 23:30:31 +02:00
udeved
53c2b55044 remove heavy docbook depend 2017-08-02 19:46:46 +02:00
udeved
5d330d8f0a buildiso: default to base profile
buildyaml: default to base profile
deployiso: default to base profile
2017-08-02 17:09:33 +02:00
udeved
de93035152 data: don't import linux-lts in archlinux branch 2017-08-02 16:55:43 +02:00
udeved
4349f297a8 util-iso: include profile name in iso filename 2017-08-02 12:58:15 +02:00
udeved
81c8b63f0a buildpkg: display repo name 2017-08-01 19:52:01 +02:00
udeved
554f7611ba data: update artools.conf 2017-08-01 19:51:33 +02:00
udeved
754617f711 doc: update artools.conf.xml 2017-08-01 19:51:06 +02:00
udeved
0acc0a180a util-pkg-chroot: chown repo 2017-08-01 19:50:32 +02:00
38 changed files with 530 additions and 1585 deletions

View File

@@ -1,4 +1,4 @@
Version=0.4
Version=0.5
PREFIX = /usr/local
SYSCONFDIR = /etc
@@ -71,16 +71,6 @@ CPIOINST = \
CPIO = \
initcpio/script/artix_shutdown
MAN_XML = \
buildpkg.xml \
buildtree.xml \
buildiso.xml \
deployiso.xml \
deploypkg.xml \
buildyaml.xml \
artools.conf.xml \
profile.conf.xml
BIN_YAML = \
bin/buildyaml
@@ -91,7 +81,27 @@ LIBS_YAML = \
SHARED_YAML = \
data/linux.preset
all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO) $(BIN_YAML) doc
INFO = \
data/repo_info
BASE = \
$(wildcard data/base/Packages-*) \
data/base/profile.conf
LIVE_ETC = \
data/base/live-overlay/etc/issue \
data/base/live-overlay/etc/fstab
LIVE_ETC_DEFAULT = \
$(wildcard data/base/live-overlay/etc/default/*)
LIVE_ETC_PAM = \
$(wildcard data/base/live-overlay/etc/pam.d/*)
LIVE_ETC_SUDOERS = \
$(wildcard data/base/live-overlay/etc/sudoers.d/*)
all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO) $(BIN_YAML)
edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \
-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \
@@ -105,13 +115,8 @@ edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \
@chmod a-w "$@"
@chmod +x "$@"
doc:
mkdir -p man
$(foreach var,$(MAN_XML),xsltproc /usr/share/docbook2X/xslt/man/docbook.xsl docbook/$(var) | db2x_manxml --output-dir man ;)
clean:
rm -f $(BIN_BASE) ${BIN_PKG} ${BIN_ISO}
rm -rf man
install_base:
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools
@@ -127,9 +132,6 @@ install_base:
install -m0644 ${SHARED_BASE} $(DESTDIR)$(PREFIX)/share/artools
install_pkg:
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d
install -m0644 ${LIST_PKG} $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d
install -m0644 ${LIST_IMPORT} $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d
@@ -147,9 +149,24 @@ install_pkg:
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools
install -m0644 ${SHARED_PKG} $(DESTDIR)$(PREFIX)/share/artools
install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man1
gzip -c man/buildpkg.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildpkg.1.gz
gzip -c man/buildtree.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildtree.1.gz
install_isobase:
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
install -m0644 ${INFO} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base
install -m0644 ${BASE} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc
install -m0644 ${LIVE_ETC} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default
install -m0644 ${LIVE_ETC_DEFAULT} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d
install -m0644 ${LIVE_ETC_PAM} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d
install -m0644 ${LIVE_ETC_SUDOERS} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d
install_iso:
install -dm0755 $(DESTDIR)$(PREFIX)/bin
@@ -170,14 +187,6 @@ install_iso:
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools
install -m0644 ${SHARED_ISO} $(DESTDIR)$(PREFIX)/share/artools
install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man1
gzip -c man/buildiso.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildiso.1.gz
gzip -c man/deployiso.1 > $(DESTDIR)$(PREFIX)/share/man/man1/deployiso.1.gz
install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man5
gzip -c man/artools.conf.5 > $(DESTDIR)$(PREFIX)/share/man/man5/artools.conf.5.gz
gzip -c man/profile.conf.5 > $(DESTDIR)$(PREFIX)/share/man/man5/profile.conf.5.gz
install_yaml:
install -dm0755 $(DESTDIR)$(PREFIX)/bin
install -m0755 ${BIN_YAML} $(DESTDIR)$(PREFIX)/bin
@@ -188,9 +197,6 @@ install_yaml:
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools
install -m0644 ${SHARED_YAML} $(DESTDIR)$(PREFIX)/share/artools
install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man1
gzip -c man/buildyaml.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildyaml.1.gz
uninstall_base:
for f in ${SYSCONF}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/$$f; done
for f in ${BIN_BASE}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
@@ -198,15 +204,20 @@ uninstall_base:
for f in ${LIBS_BASE}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
uninstall_pkg:
for f in ${LIST_PKG}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d/$$f; done
for f in ${LIST_IMPORT}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d/$$f; done
for f in ${ARCH_CONF}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/make.conf.d/$$f; done
for f in ${BIN_PKG}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
rm -f $(DESTDIR)$(PREFIX)/bin/find-libprovides
for f in ${SHARED_PKG}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done
for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildpkg.1.gz
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildtree.1.gz
uninstall_isobase:
for f in ${INFO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/$$f; done
for f in ${BASE}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/$$f; done
for f in ${LIVE_ETC}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/$$f; done
for f in ${LIVE_ETC_DEFAULT}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default/$$f; done
for f in ${LIVE_ETC_PAM}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d/$$f; done
for f in ${LIVE_ETC_SUDOERS}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d/$$f; done
uninstall_iso:
for f in ${BIN_ISO}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
@@ -216,20 +227,15 @@ uninstall_iso:
for f in ${CPIOHOOKS}; do rm -f $(DESTDIR)$(SYSCONFDIR)/initcpio/hooks/$$f; done
for f in ${CPIOINST}; do rm -f $(DESTDIR)$(SYSCONFDIR)/initcpio/install/$$f; done
for f in ${CPIO}; do rm -f $(DESTDIR)$(SYSCONFDIR)/initcpio/$$f; done
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildiso.1.gz
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/deployiso.1.gz
rm -f $(DESTDIR)$(PREFIX)/share/man/man5/artools.conf.5.gz
rm -f $(DESTDIR)$(PREFIX)/share/man/man5/profile.conf.5.gz
uninstall_yaml:
for f in ${BIN_YAML}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done
for f in ${LIBS_YAML}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done
for f in ${SHARED_YAML}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildyaml.1.gz
install: install_base install_pkg install_iso install_yaml
install: install_base install_pkg install_iso install_yaml install_isobase
uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_yaml
uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_yaml uninstall_isobase
dist:
git archive --format=tar --prefix=artools-$(Version)/ $(Version) | gzip -9 > artools-$(Version).tar.gz

View File

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

View File

@@ -79,7 +79,6 @@ verbose=false
persist=false
mkchroot_args=()
profile=lxqt
usage() {
echo "Usage: ${0##*/} [options]"

View File

@@ -37,10 +37,9 @@ display_settings(){
show_version
show_config
msg2 "is_build_list: %s" "${is_build_list}"
msg "OPTIONS:"
msg2 "arch: %s" "${target_arch}"
msg2 "repository: %s" "${repository}"
msg2 "chroots_pkg: %s" "${chroots_pkg}"
msg "ARGS:"
@@ -48,10 +47,10 @@ display_settings(){
msg2 "delete_first: %s" "${delete_first}"
msg2 "clean_first: %s" "${clean_first}"
msg2 "update_first: %s" "${update_first}"
msg2 "purge: %s" "${purge}"
msg2 "namcap: %s" "${namcap}"
msg2 "sign: %s" "${sign}"
msg2 "repo_add: %s" "${repo_add}"
msg2 "copy_pkg: %s" "${copy_pkg}"
msg "PATHS:"
msg2 "pkg_dir: %s" "${pkg_dir}"
@@ -61,8 +60,8 @@ display_settings(){
msg2 "packages: %s" "${packages[*]}"
fi
msg "BUILD QUEUE:"
run show_pkg "${build_list}"
msg "BUILD:"
show_pkg "${package}"
}
load_user_info
@@ -75,19 +74,20 @@ create_first=false
delete_first=false
clean_first=false
update_first=false
purge=false
namcap=false
pretend=false
is_build_list=false
sign=false
is_multilib=false
repo_add=false
copy_pkg=false
mkchroot_args=()
mkchrootpkg_args=()
deploypkg_args=(-x)
install_pkgs=()
repository=${PWD##*/}
package=''
prepare_build(){
local pac_arch='default'
@@ -98,9 +98,10 @@ prepare_build(){
fi
local pacman_conf="${DATADIR}/pacman-$pac_arch.conf"
[[ -f $AT_USERCONFDIR/pacman-$pac_arch.conf ]] && pacman_conf="$AT_USERCONFDIR/pacman-$pac_arch.conf"
work_dir="${chroots_pkg}/${target_arch}"
pkg_dir="${cache_dir_pkg}/${target_arch}"
work_dir="${chroots_pkg}/${target_arch}/${repository}"
pkg_dir="${cache_dir_pkg}/${target_arch}/${repository}"
local makepkg_conf=$(get_makepkg_conf "${target_arch}")
@@ -109,13 +110,12 @@ prepare_build(){
mkchroot_args+=(-C ${pacman_conf} -M ${makepkg_conf})
mkchrootpkg_args+=(-r ${work_dir})
deploypkg_args+=(-r ${repository})
prepare_dir "${pkg_dir}"
prepare_dir "${work_dir}"
eval_build_list "${build_list}"
packages=('base-devel')
${is_multilib} && packages+=('multilib-devel')
@@ -124,18 +124,18 @@ prepare_build(){
usage() {
echo "Usage: ${0##*/} [options]"
echo " -p <pkg> Build list or pkg [default: ${build_list}]"
echo " -p <pkg> Package to build [default: ${package}]"
echo " -a <arch> Arch [default: ${target_arch}]"
echo ' -r <dir> Chroots directory'
echo " [default: ${chroots_pkg}]"
echo ' -i <pkgs> Install packages into the working copy of the chroot'
echo " -z <repo> The repo name to add the package(s) [default: ${repository}]"
echo " -z <repo> The repo name to add the package(s) [default: ${repository}]"
echo ' -o Create chroot'
echo ' -d Delete chroot'
echo ' -c Clean chroot copy'
echo ' -u Update chroot copy'
echo ' -w Clean up cache and sources'
echo ' -x Add the package(s) to the repo'
echo ' -l Copy the package(s) to the repo instead of symlink'
echo ' -n Install and run namcap check'
echo ' -s Sign packages'
echo ' -q Query settings and pretend build'
@@ -147,11 +147,11 @@ usage() {
orig_argv=("$0" "$@")
opts='p:a:r:i:z:odcuwnsxqh'
opts='p:a:r:i:z:oldcunsxqh'
while getopts "${opts}" arg; do
case "${arg}" in
p) build_list="$OPTARG" ;;
p) package="$OPTARG" ;;
a) target_arch="$OPTARG" ;;
r) chroots_pkg="$OPTARG" ;;
i) install_pkgs+=("$OPTARG"); mkchrootpkg_args+=(-I "${install_pkgs[*]}") ;;
@@ -160,8 +160,8 @@ while getopts "${opts}" arg; do
d) delete_first=true ;;
c) clean_first=true ; mkchrootpkg_args+=(-c) ;;
u) update_first=true ; mkchrootpkg_args+=(-u) ;;
w) purge=true ;;
x) repo_add=true ;;
l) copy_pkg=true; deploypkg_args+=(-c) ;;
n) namcap=true; mkchrootpkg_args+=(-n) ;;
s) sign=true ;;
q) pretend=true ;;
@@ -182,4 +182,4 @@ ${delete_first} && delete_chroot "${work_dir}/root" "${work_dir}"
${create_first} && create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}"
run make_pkg "${build_list}"
build "${package}"

View File

@@ -19,7 +19,7 @@ import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg-tree.sh
show_imports(){
for repo in ${repo_tree_artix[@]};do
for repo in ${repo_tree_import[@]};do
read_import_list "$repo"
for p in ${import_list[@]};do
msg2 "%s: %s" ""$repo "$p"
@@ -32,20 +32,17 @@ display_settings(){
show_config
msg "REPOS:"
msg2 "repo_tree_artix: %s" "${repo_tree_artix[*]}"
msg2 "repo_tree_arch: %s" "${repo_tree_arch[*]}"
msg2 "repo_tree_import: %s" "${repo_tree_import[*]}"
msg "ARGS:"
msg2 "verbose: %s" "${verbose}"
msg2 "artix: %s" "${artix}"
msg2 "arch: %s" "${arch}"
msg2 "import_arch: %s" "${import_arch}"
msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
msg2 "tree_dir_arch: %s" "${tree_dir_arch}"
# msg2 "host_tree_artix: %s" "${host_tree_artix}"
# msg2 "host_tree_arch: %s" "${host_tree_arch}"
if ${verbose}; then
if ${import_arch};then
@@ -59,7 +56,6 @@ load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
artix=false
pretend=false
arch=false
import_arch=false
@@ -69,9 +65,8 @@ rsync_args=(-aWx --progress --delete --no-R --no-implied-dirs)
usage() {
echo "Usage: ${0##*/} [options]"
echo " -x Sync artix tree"
echo " -a Sync arch tree"
echo ' -i Import arch system packages'
echo ' -i Import arch packages'
echo ' -v Verbose import output'
echo ' -q Query settings'
echo ' -h This help'
@@ -82,11 +77,10 @@ usage() {
orig_argv=("$0" "$@")
opts='xaivqh'
opts='aivqh'
while getopts "${opts}" arg; do
case "${arg}" in
x) artix=true ;;
a) arch=true ;;
i) import_arch=true ;;
v) verbose=true; rsync_args+=(-v --stats) ;;
@@ -103,8 +97,6 @@ prepare_dir "${tree_dir_arch}"
${pretend} && display_settings && exit 1
${artix} && sync_tree_artix
${arch} && sync_tree_arch
${import_arch} && import_from_arch

View File

@@ -71,7 +71,6 @@ calamares=false
pretend=false
group=false
cache_dir_netinstall="${workspace_dir}/netinstall"
profile=lxqt
usage() {
echo "Usage: ${0##*/} [options]"

View File

@@ -57,7 +57,6 @@ pretend=false
update=false
verbose=false
torrent=false
profile=lxqt
rsync_args=(-aP --progress -e ssh)

View File

@@ -36,6 +36,7 @@ display_settings(){
msg "ARGS:"
msg2 "add_pkg: %s" "${add_pkg}"
msg2 "del_pkg: %s" "${del_pkg}"
msg2 "copy_pkg: %s" "${copy_pkg}"
msg2 "download: %s" "${download}"
msg2 "upload: %s" "${upload}"
msg2 "verbose: %s" "${verbose}"
@@ -60,6 +61,7 @@ verbose=false
verbose=false
add_pkg=false
del_pkg=false
copy_pkg=false
package=''
rsync_args=(-rtxisP --progress --delete -e ssh)
@@ -72,6 +74,7 @@ usage() {
echo ' -d Download repository'
echo " -p Package name to add/delete"
echo ' -x Add package to repository'
echo ' -c Copy instead of symlink package to repository'
echo ' -y Delete package from repository'
echo ' -q Query settings and pretend upload'
echo ' -v Verbose output'
@@ -83,7 +86,7 @@ usage() {
orig_argv=("$0" "$@")
opts='p:a:r:xyduvqh'
opts='p:a:r:xyducvqh'
while getopts "${opts}" arg; do
case "${arg}" in
@@ -92,6 +95,7 @@ while getopts "${opts}" arg; do
p) package="$OPTARG" ;;
x) add_pkg=true ;;
y) del_pkg=true ;;
c) copy_pkg=true ;;
d) download=true ;;
u) upload=true; rsync_args+=(-L) ;;
v) verbose=true; rsync_args+=(-v --stats) ;;
@@ -109,7 +113,7 @@ prepare_dir "${repos_local}"
${pretend} && display_settings #&& exit 1
${add_pkg} && repo_update "${repository}" "${target_arch}" "${package}" "add"
${add_pkg} && repo_update "${repository}" "${target_arch}" "${package}" "add" "${copy_pkg}"
${del_pkg} && repo_update "${repository}" "${target_arch}" "${package}" "remove"
${download} && repo_download "${repository}"

View File

@@ -221,6 +221,7 @@ EOF
# These functions aren't run in makechrootpkg,
# so no global variables
_chrootbuild() {
export LANG=en_US.UTF-8
. /etc/profile
sudo -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
}

View File

@@ -1,6 +1,6 @@
######################################################
################ artools.conf ##################
######################################################
#############################################
################ artools-base ###############
#############################################
# default taget arch: auto detect
# target_arch=$(uname -m)
@@ -23,10 +23,12 @@
# the workspace directory
# workspace_dir="/home/${OWNER}/artools-workspace"
################ buildtree ###############
#############################################
################ artools-pkg ################
#############################################
# artix package tree
# repo_tree_artix=('system' 'world' 'galaxy')
# artix import tree
# repo_tree_import=('system-arch' 'world-arch' 'galaxy-arch')
# host_tree_artix=https://github.com/artix-linux
@@ -35,12 +37,15 @@
# host_tree_arch=git://projects.archlinux.org/svntogit
################ buildpkg ################
# default repos root
# repos_local=${workspace_dir}/repos
# default pkg build list; name without .list extension
# build_list=default
#############################################
################ artools-iso ################
#############################################
################ buildiso ################
# the default profile
# profile=base
# the dist release; default: auto
# dist_release=rolling
@@ -57,8 +62,6 @@
# gpg key; leave empty or commented to skip sfs signing
# gpgkey=""
################ deployiso ################
# set upload bandwidth limit in kB/s
# limit=100

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

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

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

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

26
data/base/profile.conf Normal file
View File

@@ -0,0 +1,26 @@
################ install ################
# default displaymanager: none
# supported; lightdm, sddm, gdm, lxdm, mdm
# displaymanager="none"
# Set to false to disable autologin in the livecd
# autologin="true"
# service runlevels
# openrc_boot=('elogind')
# openrc_default=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
# unset defaults to given values
# addgroups="video,power,storage,optical,network,lp,scanner,wheel,users"
################# live-session #################
# unset defaults to given value
# hostname="artix"
# unset defaults to given value
# username="artix"
# unset defaults to given value
# password="artix"

View File

@@ -0,0 +1,6 @@
autoconf-archive
confuse
libappindicator
libdbusmenu
libftdi
libindicator

View File

@@ -90,7 +90,6 @@ links
linux-api-headers
linux-atm
linux-firmware
linux-lts
lz4
lzo
m4

View File

@@ -33,3 +33,180 @@ qt5-websockets
qt5-webview
qt5-x11extras
qt5-xmlpatterns
adwaita-icon-theme
alsa-lib
apr
apr-util
atk
at-spi2-atk
at-spi2-core
boost
cairo
cantarell-fonts
check
compositeproto
damageproto
dbus-glib
dconf
desktop-file-utils
docbook-dsssl
docbook-sgml31
docbook-utils
docbook-xml
docbook-xsl
double-conversion
doxygen
eventlog
fixesproto
fontconfig
fontsproto
freetype2
gd
gdk-pixbuf2
ghostscript
giflib
gnome-common
gobject-introspection
gptfdisk
graphite
graphviz
gsfonts
gtk3
gtk-doc
gts
harfbuzz
hicolor-icon-theme
ijs
inputproto
intltool
itstool
jasper
jbig2dec
json-glib
kbproto
lcms2
libasyncns
libblockdev
libbytesize
libcap-ng
libcroco
libdaemon
libdatrie
libdrm
libepoxy
libexif
libfontenc
libglvnd
libgphoto2
libical
libice
libieee1284
libimobiledevice
libiscsi
libjpeg-turbo
libomxil-bellagio
libpaper
libpciaccess
libplist
libpng
libproxy
librsvg
libsm
libthai
libtiff
libtxc_dxtn
libunwind
libusb-compat
libusbmuxd
libwebp
libx11
libxau
libxaw
libxcb
libxcomposite
libxcursor
libxdamage
libxdmcp
libxext
libxfixes
libxfont
libxfont2
libxft
libxi
libxinerama
libxkbcommon
libxkbfile
libxml2
libxmu
libxpm
libxrandr
libxrender
libxshmfence
libxslt
libxt
libxtst
libxxf86vm
lirc
llvm
mesa
mtdev
net-snmp
openjade
opensp
pango
parted
pcre2
perl-error
perl-xml-parser
perl-yaml
pixman
python2
python
python-appdirs
python-beaker
python-mako
python-markupsafe
python-packaging
python-pyparsing
python-setuptools
python-six
randrproto
recordproto
renderproto
serf
sgml-common
shared-mime-info
source-highlight
speexdsp
tslib
v4l-utils
vala
valgrind
volume_key
vte3
vte
wayland
wayland-protocols
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xextproto
xf86vidmodeproto
xineramaproto
xkeyboard-config
xorg-bdftopcf
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-font-util
xorg-font-utils
xorg-mkfontdir
xorg-mkfontscale
xorg-setxkbmap
xorg-xkbcomp
xproto
yelp-tools
yelp-xsl

View File

@@ -1 +0,0 @@
openrc

1
data/repo_info Normal file
View File

@@ -0,0 +1 @@
0.5

View File

@@ -1,298 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="profile.conf" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>profile.conf-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>artools.conf</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>
<refnamediv>
<refname>artools.conf</refname>
<refpurpose>general configuration file for artools</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>artools.conf</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>artools.conf is a general configuration file for all artools binaries. </para>
<para>By default all the options in the file are commented, with a value equal to the
default value. To change it just uncomment and put the desired value.</para>
</refsect1>
<refsect1>
<title>General options for all tools</title>
<para>The following options are understood and used for various tools:</para>
<variablelist>
<varlistentry>
<term><varname>target_arch=</varname></term>
<listitem><para>Takes <option>i686</option> or <option>x86_64</option>.
By default it will try to autodetect the current architecture.
It defines in witch architecture the packages will be built with
buildpkg.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>workspace_dir=</varname></term>
<listitem><para>Workspace dir where packages, iso, repos or build tree. Default is "/home/$OWNER/artools-workspace".
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>chroots_dir=</varname></term>
<listitem><para>Build dir where buildpkg or buildiso chroot
environment will be created. Default is "/var/lib/artools".
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>build_mirror=</varname></term>
<listitem><para>Default mirror to be used when building
packages or iso.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>account=</varname></term>
<listitem><para>Default user to be used for upload.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>project=</varname></term>
<listitem><para>Default SF project name to be used for upload.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>host_mirrors=</varname></term>
<listitem><para>Array of host mirrors.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Options for buildtree</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><varname>repo_tree_artix=</varname></term>
<listitem><para>Artix package tree. Default is
"('system' 'world' 'galaxy')".
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>host_tree_artix=</varname></term>
<listitem><para>Host tree. Default is "https://github.com/artix-linux".
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>repo_tree_arch=</varname></term>
<listitem><para>Archlinux package tree. Default is
"('packages' 'community')".
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>host_tree_arch=</varname></term>
<listitem><para>Host tree for archlinux. Default is
"https://projects.archlinux.org/git/svntogit".
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Options for buildpkg</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><varname>build_list=</varname></term>
<listitem><para>Default list for buildpkg without the .list
extension.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Options for buildiso</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><varname>dist_release=</varname></term>
<listitem><para>Release version of the distribution.
</para></listitem>
</varlistentry>
<varlistentry>
<!-- TODO: We should tell where exactly this is used -->
<term><varname>dist_branding=</varname></term>
<listitem><para>Branding of the distribution.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>gpgkey=</varname></term>
<listitem><para>If the gpgkey is supplied, the sfs images on iso will be signed.
If the key is left empty or commented, signing will be skipped.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>initsys=</varname></term>
<listitem><para>Takes <option>openrc</option> (the default)
or <option>notyetimplemented</option>. Selecting and option will change
how the hostname, the displaymanager and services will be configured.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>kernel=</varname></term>
<listitem><para>Takes a string corresponding to an
artix kernel package.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Options for deployiso</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><varname>tracker_url=</varname></term>
<listitem><para>Default tracker announce for the torrent.
The tracker url can also contain comma separated urls.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>piece_size=</varname></term>
<listitem><para>Default priece size for the torrent in 2^n.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>uplimit=</varname></term>
<listitem><para>Default upload bandwidth limit in kb/s.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Options for deploypkg</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><varname>repos_local=</varname></term>
<listitem><para>The local repository root. Default is "${workspace_dir}/repos".
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>buildiso</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>deployiso</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>buildtree</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>deploypkg</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>buildpkg</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@@ -1,181 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with artools; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="buildiso" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>buildiso-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>buildiso</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>buildiso</refname>
<refpurpose>buildiso is used to build a particular ISO or a set of ISOs. </refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>buildiso</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>buildiso</command> is used to build a particular ISO or a set of ISOs. </para>
<para>With buildiso you can build ISOs suitable to be booted from a removable media
like a DVD o a USB Stick, it will automatically create the necessary files to
install this ISO using calamares.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>-p PROFILE...</option></term>
<listitem><para>Name of the name of the directory
you will build. It needs to contain a
folder with a valid profile.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-a i686|x86_64</option></term>
<listitem><para>Architecture that the iso will be built. Can be i686 or x86_64.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-r DIR</option></term>
<listitem><para>Root working directory where the iso will be built.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-t DIR</option></term>
<listitem><para>Iso target directory where the final iso will be stored.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-i openrc|s6|runit</option></term>
<listitem><para>The init system on the iso</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-g KEY</option></term>
<listitem><para>The GPG key to use to sign the sfs images.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-k linuxXXX</option></term>
<listitem><para>The kernel on the iso</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem><para>Disable clean working directory step.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-m</option></term>
<listitem><para>Enable persistence mode.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-x</option></term>
<listitem><para>Only build images, without creating an ISO file.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-z</option></term>
<listitem><para>Generate iso from already created images, for example created with the -x option.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem><para>Verbose output to log file, show profile detail in combination with pretend.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<listitem><para>Query settings and pretend build.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<listitem><para>Help.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<!--<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure code
otherwise.</para>
</refsect1>
-->
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@@ -1,160 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with artools; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="buildpkg" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>buildpkg-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>buildpkg</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>buildpkg</refname>
<refpurpose>buildpkg is used to build packages in a clean chroot. </refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>buildpkg</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>buildpkg</command> is used to build a particular package or a set of packages. </para>
<para>With buildpkg you can build packages in a clean chroot environment.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>-p PROFILE...</option></term>
<listitem><para>Name of the build list or name of the directory
you will build. It needs to cantain a existing build list or a
folder with a valid PKGBUILD.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-a i686|x86_64|multilib</option></term>
<listitem><para>Architecture that the iso will be built. Can be i686, x86_64 or multilib.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-r DIR</option></term>
<listitem><para>Root working directory where the package will be built.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-i PKG</option></term>
<listitem><para>Install packages into the working copy of the chroot.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-o</option></term>
<listitem><para>Create chroot.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-d</option></term>
<listitem><para>Delete chroot.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem><para>Clean chroot copy.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option></term>
<listitem><para>Update chroot copy.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-w</option></term>
<listitem><para>Clean up cache and sources.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-n</option></term>
<listitem><para>Install built package in chroot and run namcap check.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-s</option></term>
<listitem><para>Sign package.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<listitem><para>Query settings and pretend build.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<listitem><para>Help.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@@ -1,111 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with artools; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="buildtree" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>buildtree-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>buildtree</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>buildtree</refname>
<refpurpose>buildtree is used to sync the cromnix and arch package build tree. </refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>buildtree</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>buildtree</command> is used to sync package trees. </para>
<para>With buildtree, you can sync the cromnix and arch linux packae build trees.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>-s</option></term>
<listitem><para>Sync Manjaro linux tree.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-a</option></term>
<listitem><para>Sync Arch linux tree.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem><para>Clean package trees.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<listitem><para>Query settings.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<listitem><para>Help.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@@ -1,146 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with artools; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="buildyaml" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>buildyaml-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>buildyaml</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>buildyaml</refname>
<refpurpose>buildyaml is used to generate and validate yaml files used by calamares. </refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>buildyaml</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>buildyaml</command> is used to generate and validate yaml files used by calamares.</para>
<para>buildyaml is a script to generate and validate yaml files by yaml schemas. Buildiso generates these files also, but buildyaml is a standalone version without the need to build the entire iso.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>-p PROFILE...</option></term>
<listitem><para>Name of the profile directory.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-a i686|x86_64</option></term>
<listitem><para>Architecture that the yaml will be created for. Can be i686 or x86_64.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-i openrc|s6|runit</option></term>
<listitem><para>The init system the yaml will be created for.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-k linuxXXX</option></term>
<listitem><para>The kernel the yaml will be created for.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem><para>Create calamares yaml conf files.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-g</option></term>
<listitem><para>Generate a packman group netgroup yaml file.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem><para>Validate the yaml file by yaml schema.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<listitem><para>Query settings.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<listitem><para>Help.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<!--<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure code
otherwise.</para>
</refsect1>
-->
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@@ -1,135 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with artools; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="deployiso" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>deployiso-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>deployiso</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>deployiso</refname>
<refpurpose>deployiso is used to upload a particular ISO or a set of ISOs. </refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>deployiso</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>deployiso</command> is used to upload a particular ISO or a set of ISOs. </para>
<para>deployiso is a script to upload a specific iso or a buiildset to SF.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>-p PROFILE...</option></term>
<listitem><para>Name of the iso profile directory
you will upload.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-l</option></term>
<listitem><para>Limit bandwidth in kB/s.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option></term>
<listitem><para>Update remote iso.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-t</option></term>
<listitem><para>Create a torrent from iso file.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem><para>Verbose output.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<listitem><para>Query settings and pretend upload.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<listitem><para>Help.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<!--<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure code
otherwise.</para>
</refsect1>
-->
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@@ -1,145 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with artools; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="deploypkg" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>deploypkg-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>deploypkg</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>deploypkg</refname>
<refpurpose>deploypkg is used to sync package repositories. </refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>deploypkg</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>deploypkg</command> is used to sync package repositories. </para>
<para>deploypkg is a script to sync a specific repoitory with SF.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>-r REPOSITORY...</option></term>
<listitem><para>Name of the repo to sync.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-p PACKAGE...</option></term>
<listitem><para>Name of the package to add or delete.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-x</option></term>
<listitem><para>Add a package to the repo db.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-y</option></term>
<listitem><para>Delete a package from the repo.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option></term>
<listitem><para>Upload a repo.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-d</option></term>
<listitem><para>Download a repo.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem><para>Verbose output.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<listitem><para>Query settings and pretend upload.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<listitem><para>Help.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<!--<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure code
otherwise.</para>
</refsect1>
-->
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@@ -1,156 +0,0 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of artools.
Copyright 2015 Manjaro Developers
Copyright 2017 Artoo
artools is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
artools 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with artools; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="profile.conf" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>profile.conf-+</title>
<productname>artools</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>profile.conf</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>
<refnamediv>
<refname>profile.conf</refname>
<refpurpose>configuration file for the individual profiles </refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>profile.conf</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>profile.conf is a configuration file used to modify how the ISO will be built. </para>
<para>By default all the options in the file are commented, with a value equal to the
default value. To change it just uncomment and put the desired value.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><varname>displaymanager=</varname></term>
<listitem><para>Takes a value of
<option>lightdm</option>,
<option>sddm</option>,
<option>gdm</option>,
<option>mdm</option>,
<option>lxdm</option>. Defaults to "none" value,
which won't configure any display manager.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>autologin=</varname></term>
<listitem><para>Accepts
<option>true</option> (the default)
<option>false</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>openrc_boot=</varname></term>
<listitem><para>Array of services that will be
enabled in openrc boot runlevel.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>openrc_default=</varname></term>
<listitem><para>Array of services that will be
enabled in openrc default runlevel.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>hostname=</varname></term>
<listitem><para>Hostname for the ISO.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>username=</varname></term>
<listitem><para>Username of the default user
that will be created in the live-cd.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>password=</varname></term>
<listitem><para>Password of the default user
that will be created in the live-cd.
</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>addgroups=</varname></term>
<listitem><para>Default groups of the default user
in the live-cd and the user created while installing
the iso using calamares.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='artools'><refentrytitle>buildiso</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@@ -227,7 +227,7 @@ make_iso() {
gen_iso_fn(){
local vars=() name
vars+=("${os_id}")
# vars+=("${profile}")
vars+=("${profile}")
vars+=("${dist_release}")
vars+=("${target_arch}")
for n in ${vars[@]};do
@@ -431,14 +431,6 @@ build(){
msg "Start building [%s]" "${profile}"
if ${clean_first};then
chroot_clean "${chroots_iso}/${profile}/${target_arch}"
local unused_arch='i686'
if [[ ${target_arch} == 'i686' ]];then
unused_arch='x86_64'
fi
if [[ -d "${chroots_iso}/${profile}/${unused_arch}" ]];then
chroot_clean "${chroots_iso}/${profile}/${unused_arch}"
fi
clean_iso_root "${iso_root}"
fi

View File

@@ -26,7 +26,11 @@ get_makepkg_conf(){
local arch="$1"
local conf="${tmp_dir}/makepkg-${arch}.conf"
cp "${DATADIR}/makepkg.conf" "$conf"
if [[ -f $AT_USERCONFDIR/makepkg.conf ]];then
cp "$AT_USERCONFDIR/makepkg.conf" "$conf"
else
cp "${DATADIR}/makepkg.conf" "$conf"
fi
load_compiler_settings "${arch}"
@@ -47,16 +51,7 @@ check_build(){
find_pkg(){
local bdir="$1"
local result=$(find . -type d -name "${bdir}")
[[ -z $result ]] && die "%s is not a valid package or build list!" "${bdir}"
}
clean_up(){
msg2 "Cleaning [%s]" "${pkg_dir}"
find ${pkg_dir} -maxdepth 1 -name "*.*" -delete #&> /dev/null
if [[ -z $SRCDEST ]];then
msg2 "Cleaning [source files]"
find $PWD -maxdepth 1 -name '*.?z?' -delete #&> /dev/null
fi
[[ -z $result ]] && die "%s is not a valid package!" "${bdir}"
}
sign_pkg(){
@@ -89,19 +84,18 @@ post_build(){
src=$pkg-$ver-$tarch.$ext
move_to_cache "$src"
if ${repo_add};then
deploypkg -r "${repository}" -x -p "$src"
deploypkg "${deploypkg_args[@]}" -p "$src"
user_own "${repos_local}/${repository}" -R
fi
done
}
build_pkg(){
${purge} && clean_up
# setarch "${target_arch}"
mkchrootpkg "${mkchrootpkg_args[@]}" || die
post_build
}
make_pkg(){
build(){
local pkg="$1"
check_build "${pkg}"
msg "Start building [%s]" "${pkg}"

View File

@@ -10,16 +10,20 @@
# GNU General Public License for more details.
repo_update(){
local repo="$1" arch="$2" pkg="$3" action="$4"
local repo="$1" arch="$2" pkg="$3" action="$4" copy="$5"
if [[ $action == "add" ]];then
if [[ -f ${repos_local}/$repo/os/$arch/$pkg \
&& -f ${repos_local}/$repo/os/$arch/$pkg.sig ]];then
rm ${repos_local}/$repo/os/$arch/$pkg
rm ${repos_local}/$repo/os/$arch/$pkg.sig
fi
ln -s ${cache_dir_pkg}/$arch/$pkg{,.sig} ${repos_local}/$repo/os/$arch/
local cmd='ln -s'
$copy && cmd='cp'
$cmd ${cache_dir_pkg}/$arch/$repo/$pkg{,.sig} ${repos_local}/$repo/os/$arch/
fi
repo-$action -R ${repos_local}/$repo/os/$arch/$repo.db.tar.xz ${repos_local}/$repo/os/$arch/$pkg
local dest=${repos_local}/$repo/os/$arch/$pkg
[[ $action == "remove" ]] && dest=$pkg
repo-$action -R ${repos_local}/$repo/os/$arch/$repo.db.tar.xz $dest
}
update_lock(){

View File

@@ -17,33 +17,16 @@ get_remote_head(){
echo $(git ls-remote origin -h refs/heads/$1 | cut -f1)
}
sync_tree_branches(){
local branches=(master artix archlinux)
for b in ${branches[@]};do
git checkout $b &> /dev/null
local local_head=$(get_local_head "$b")
local remote_head=$(get_remote_head "$b")
local timer=$(get_timer) repo="$1"
msg "Checking [%s] (%s) ..." "$repo" "$b"
msg2 "local: %s" "${local_head}"
msg2 "remote: %s" "${remote_head}"
if [[ "${local_head}" == "${remote_head}" ]]; then
info "nothing to do"
else
info "needs sync"
git pull origin $b
fi
msg "Done [%s] (%s)" "$repo" "$b"
done
git checkout master &> /dev/null
show_elapsed_time "${FUNCNAME}" "${timer}"
is_dirty() {
[[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1
return 0
}
sync_tree(){
local branch="master"
local branch="master" repo="$1"
local local_head=$(get_local_head "$branch")
local remote_head=$(get_remote_head "$branch")
local timer=$(get_timer) repo="$1"
local timer=$(get_timer)
msg "Checking [%s] ..." "$repo"
msg2 "local: %s" "${local_head}"
msg2 "remote: %s" "${remote_head}"
@@ -66,20 +49,6 @@ clone_tree(){
show_elapsed_time "${FUNCNAME}" "${timer}"
}
sync_tree_artix(){
cd ${tree_dir_artix}
for repo in ${repo_tree_artix[@]};do
if [[ -d ${repo} ]];then
cd ${repo}
sync_tree_branches "${repo}"
cd ..
else
clone_tree "${repo}" "${host_tree_artix}/${repo}"
fi
done
cd ..
}
sync_tree_arch(){
cd ${tree_dir_arch}
for repo in ${repo_tree_arch[@]};do
@@ -100,33 +69,36 @@ read_import_list(){
import_list=$(sed "$_com_rm" "${list_dir_import}/$name.list" | sed "$_space" | sed "$_clean")
}
is_dirty() {
[[ $(git diff --shortstat 2> /dev/null | tail -n1) != "" ]] || return 1
return 0
}
get_pkgver(){
source PKGBUILD
echo $pkgver-$pkgrel
}
is_untracked(){
[[ $(git ls-files --others --exclude-standard) != "" ]] || return 1
return 0
}
import_from_arch(){
local timer=$(get_timer)
for repo in ${repo_tree_artix[@]};do
local timer=$(get_timer) branch='testing'
for repo in ${repo_tree_import[@]};do
read_import_list "$repo"
if [[ -n ${import_list[@]} ]];then
cd ${tree_dir_artix}/$repo
git checkout archlinux &> /dev/null
git checkout $branch &> /dev/null
$(is_dirty) && die "[%s] has uncommited changes!" "${repo}"
git pull origin $branch &> /dev/null
local arch_dir=packages
[[ $repo == "galaxy" ]] && arch_dir=community
msg "Import into [%s] branch (archlinux)" "$repo"
msg "Import into [%s]" "$repo"
for pkg in ${import_list[@]};do
msg2 "Importing [%s] ..." "$pkg"
rsync "${rsync_args[@]}" ${tree_dir_arch}/$arch_dir/$pkg/trunk/ ${tree_dir_artix}/$repo/$pkg/
if $(is_dirty); then
if $(is_dirty) || $(is_untracked); then
git add $pkg
cd $pkg
git commit -m "Archlinux $pkg-$(get_pkgver) import"
local ver=$(get_pkgver)
msg2 "Archlinux import: [%s]" "$pkg-$ver"
git commit -m "Archlinux import: $pkg-$ver"
cd ..
fi
done

View File

@@ -9,39 +9,6 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# $1: list_dir
show_build_lists(){
local list temp
for item in $(ls $1/*.list); do
temp=${item##*/}
list=${list:-}${list:+|}${temp%.list}
done
echo $list
}
read_build_list(){
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g"
build_list=$(sed "$_com_rm" "$1.list" | sed "$_space" | sed "$_clean")
}
# $1: build list
eval_build_list(){
eval "case $1 in
$(show_build_lists ${list_dir_pkg})) is_build_list=true; read_build_list ${list_dir_pkg}/$1 ;;
*) is_build_list=false ;;
esac"
}
run(){
if ${is_build_list};then
for item in ${build_list[@]};do
$1 $item
done
else
$1 $2
fi
}
in_array() {
local needle=$1; shift
local item

View File

@@ -61,21 +61,21 @@ load_profile(){
enable_live=('artix-live' 'pacman-init')
netgroups="https://raw.githubusercontent.com/artix-linux/netgroups/master"
[[ -z ${netgroups} ]] && netgroups="https://raw.githubusercontent.com/artix-linux/netgroups/master"
root_list=${run_dir}/base/Packages-Root
root_list=${DATADIR}/iso-profiles/base/Packages-Root
[[ -f "$profdir/Packages-Root" ]] && root_list="$profdir/Packages-Root"
root_overlay="${run_dir}/base/root-overlay"
root_overlay="${DATADIR}/iso-profiles/base/root-overlay"
[[ -d "$profdir/root-overlay" ]] && root_overlay="$profdir/root-overlay"
[[ -f "$profdir/Packages-Desktop" ]] && desktop_list=$profdir/Packages-Desktop
[[ -d "$profdir/desktop-overlay" ]] && desktop_overlay="$profdir/desktop-overlay"
live_list="${run_dir}/base/Packages-Live"
live_list="${DATADIR}/iso-profiles/base/Packages-Live"
[[ -f "$profdir/Packages-Live" ]] && live_list="$profdir/Packages-Live"
live_overlay="${run_dir}/base/live-overlay"
live_overlay="${DATADIR}/iso-profiles/base/live-overlay"
[[ -d "$profdir/live-overlay" ]] && live_overlay="$profdir/live-overlay"
return 0

View File

@@ -37,14 +37,9 @@ prepare_dir(){
[[ ! -d $1 ]] && mkdir -p $1
}
get_release(){
source /etc/lsb-release
echo "${DISTRIB_RELEASE}"
}
get_distname(){
source /etc/lsb-release
echo "${DISTRIB_ID%Linux}"
source /usr/lib/os-release
echo "${NAME%Linux}"
}
get_disturl(){
@@ -62,7 +57,7 @@ get_osid(){
echo "${ID}"
}
init_common(){
init_artools_base(){
[[ -z ${target_arch} ]] && target_arch=$(uname -m)
@@ -87,11 +82,11 @@ init_common(){
prepare_dir "${workspace_dir}"
}
init_buildtree(){
init_artools_pkg(){
[[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix
[[ -z ${repo_tree_artix[@]} ]] && repo_tree_artix=('system' 'world' 'galaxy')
[[ -z ${repo_tree_import[@]} ]] && repo_tree_import=('system' 'world' 'galaxy')
[[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux'
@@ -104,34 +99,32 @@ init_buildtree(){
list_dir_import="${SYSCONFDIR}/import.list.d"
[[ -d ${AT_USERCONFDIR}/import.list.d ]] && list_dir_import=${AT_USERCONFDIR}/import.list.d
}
init_buildpkg(){
chroots_pkg="${chroots_dir}/buildpkg"
list_dir_pkg="${SYSCONFDIR}/pkg.list.d"
make_conf_dir="${SYSCONFDIR}/make.conf.d"
[[ -d ${AT_USERCONFDIR}/pkg.list.d ]] && list_dir_pkg=${AT_USERCONFDIR}/pkg.list.d
[[ -z ${build_list} ]] && build_list='default'
cache_dir_pkg=${workspace_dir}/pkg
prepare_dir "${cache_dir_pkg}"
repository='system'
[[ -z ${repos_local} ]] && repos_local="${workspace_dir}/repos"
repos_remote="/${repos_local##*/}"
}
init_buildiso(){
init_artools_iso(){
chroots_iso="${chroots_dir}/buildiso"
cache_dir_iso="${workspace_dir}/iso"
prepare_dir "${cache_dir_iso}"
##### iso settings #####
[[ -z ${profile} ]] && profile='base'
[[ -z ${dist_release} ]] && dist_release=$(get_release)
[[ -z ${dist_release} ]] && dist_release=$(date +%Y%m%d)
dist_name=$(get_distname)
@@ -144,9 +137,6 @@ init_buildiso(){
[[ -z ${kernel} ]] && kernel="linux-lts"
[[ -z ${gpgkey} ]] && gpgkey=''
}
init_deployiso(){
[[ -z ${uplimit} ]] && uplimit=100
@@ -157,14 +147,6 @@ init_deployiso(){
torrent_meta="$(get_osname)"
}
init_deploypkg(){
repository='system'
[[ -z ${repos_local} ]] && repos_local="${workspace_dir}/repos"
repos_remote="/${repos_local##*/}"
}
load_config(){
@@ -174,17 +156,11 @@ load_config(){
[[ -r ${artools_conf} ]] && source ${artools_conf}
init_common
init_artools_base
init_buildtree
init_artools_pkg
init_buildpkg
init_buildiso
init_deployiso
init_deploypkg
init_artools_iso
return 0
}