forked from artix/artools
		
	Compare commits
	
		
			29 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 01142309ac | ||
|   | d630ed2582 | ||
|   | 9c546ca7fb | ||
|   | a6a74c69f1 | ||
|   | 0f51544da4 | ||
|   | afe30328a6 | ||
|   | 9d7148b60e | ||
|   | afa239995c | ||
|   | 0b4a4840e3 | ||
|   | 034e5a0a82 | ||
|   | d2590ddd74 | ||
|   | 2975de2fb5 | ||
|   | b9383b628c | ||
|   | 01bc8673c4 | ||
|   | 0fcdc6af63 | ||
|   | 5ae9803be1 | ||
|   | b36ffd813e | ||
|   | fb0ad6d51f | ||
|   | 3beb019d7c | ||
|   | 331520a3d6 | ||
|   | ee196e84c7 | ||
|   | de6149a5bc | ||
|   | 524ba5fe47 | ||
|   | b0169fc1b8 | ||
|   | 50577f0501 | ||
|   | 9eb8ad06e2 | ||
|   | a4bc7c5b01 | ||
|   | a050b76d8e | ||
|   | adc4fa6724 | 
							
								
								
									
										55
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								Makefile
									
									
									
									
									
								
							| @@ -59,8 +59,7 @@ LIBS_ISO = \ | ||||
| 	$(wildcard lib/util-iso*.sh) | ||||
|  | ||||
| SHARED_ISO = \ | ||||
| 	data/mkinitcpio.conf \ | ||||
| 	data/profile.conf.example | ||||
| 	data/mkinitcpio.conf | ||||
|  | ||||
| CPIOHOOKS = \ | ||||
| 	$(wildcard initcpio/hooks/*) | ||||
| @@ -81,6 +80,23 @@ LIBS_YAML = \ | ||||
| SHARED_YAML = \ | ||||
| 	data/linux.preset | ||||
|  | ||||
| BASE = \ | ||||
| 	$(wildcard data/base/Packages-*) \ | ||||
| 	data/base/profile.conf | ||||
|  | ||||
| LIVE_ETC = \ | ||||
| 	data/base/live-overlay/etc/issue \ | ||||
| 	data/base/live-overlay/etc/fstab | ||||
|  | ||||
| LIVE_ETC_DEFAULT = \ | ||||
| 	$(wildcard data/base/live-overlay/etc/default/*) | ||||
|  | ||||
| LIVE_ETC_PAM = \ | ||||
| 	$(wildcard data/base/live-overlay/etc/pam.d/*) | ||||
|  | ||||
| LIVE_ETC_SUDOERS = \ | ||||
| 	$(wildcard data/base/live-overlay/etc/sudoers.d/*) | ||||
|  | ||||
| all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO) $(BIN_YAML) | ||||
|  | ||||
| edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \ | ||||
| @@ -112,9 +128,6 @@ install_base: | ||||
| 	install -m0644 ${SHARED_BASE} $(DESTDIR)$(PREFIX)/share/artools | ||||
|  | ||||
| install_pkg: | ||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d | ||||
| 	install -m0644 ${LIST_PKG} $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d | ||||
| 	install -m0644 ${LIST_IMPORT} $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d | ||||
|  | ||||
| @@ -132,6 +145,25 @@ install_pkg: | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools | ||||
| 	install -m0644 ${SHARED_PKG} $(DESTDIR)$(PREFIX)/share/artools | ||||
|  | ||||
| install_isobase: | ||||
| # 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles | ||||
| # 	install -m0644 ${INFO} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base | ||||
| 	install -m0644 ${BASE} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc | ||||
| 	install -m0644 ${LIVE_ETC} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default | ||||
| 	install -m0644 ${LIVE_ETC_DEFAULT} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d | ||||
| 	install -m0644 ${LIVE_ETC_PAM} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d | ||||
|  | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d | ||||
| 	install -m0644 ${LIVE_ETC_SUDOERS} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d | ||||
|  | ||||
| install_iso: | ||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | ||||
| 	install -m0755 ${BIN_ISO} $(DESTDIR)$(PREFIX)/bin | ||||
| @@ -168,7 +200,6 @@ uninstall_base: | ||||
| 	for f in ${LIBS_BASE}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done | ||||
|  | ||||
| uninstall_pkg: | ||||
| 	for f in ${LIST_PKG}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d/$$f; done | ||||
| 	for f in ${LIST_IMPORT}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d/$$f; done | ||||
| 	for f in ${ARCH_CONF}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/make.conf.d/$$f; done | ||||
| 	for f in ${BIN_PKG}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done | ||||
| @@ -176,6 +207,14 @@ uninstall_pkg: | ||||
| 	for f in ${SHARED_PKG}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done | ||||
| 	for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done | ||||
|  | ||||
| uninstall_isobase: | ||||
| # 	for f in ${INFO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/$$f; done | ||||
| 	for f in ${BASE}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/$$f; done | ||||
| 	for f in ${LIVE_ETC}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/$$f; done | ||||
| 	for f in ${LIVE_ETC_DEFAULT}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default/$$f; done | ||||
| 	for f in ${LIVE_ETC_PAM}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d/$$f; done | ||||
| 	for f in ${LIVE_ETC_SUDOERS}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/sudoers.d/$$f; done | ||||
|  | ||||
| uninstall_iso: | ||||
| 	for f in ${BIN_ISO}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done | ||||
| 	for f in ${SHARED_ISO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done | ||||
| @@ -190,9 +229,9 @@ uninstall_yaml: | ||||
| 	for f in ${LIBS_YAML}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done | ||||
| 	for f in ${SHARED_YAML}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done | ||||
|  | ||||
| install: install_base install_pkg install_iso install_yaml | ||||
| install: install_base install_pkg install_iso install_yaml install_isobase | ||||
|  | ||||
| uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_yaml | ||||
| uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_yaml uninstall_isobase | ||||
|  | ||||
| dist: | ||||
| 	git archive --format=tar --prefix=artools-$(Version)/ $(Version) | gzip -9 > artools-$(Version).tar.gz | ||||
|   | ||||
| @@ -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 | ||||
| ~~~ | ||||
|   | ||||
| @@ -19,8 +19,38 @@ SYSCONFDIR='@sysconfdir@' | ||||
| import ${LIBDIR}/util.sh | ||||
| import ${LIBDIR}/util-iso.sh | ||||
|  | ||||
| prepare_traps(){ | ||||
|     for sig in TERM HUP QUIT; do | ||||
|         trap "trap_exit $sig \"$(gettext "%s signal caught. Exiting...")\" \"$sig\"" "$sig" | ||||
|     done | ||||
|     trap 'trap_exit INT "$(gettext "Aborted by user! Exiting...")"' INT | ||||
| #     trap 'trap_exit USR1 "$(gettext "An unknown error has occurred. Exiting...")"' ERR | ||||
| } | ||||
|  | ||||
| prepare_build(){ | ||||
|     timer_start=$(get_timer) | ||||
|  | ||||
|     load_profile "${profile}" | ||||
|  | ||||
|     local pac_arch='default' pacman_conf | ||||
|     [[ "${target_arch}" == 'x86_64' ]] && pac_arch='multilib' | ||||
|  | ||||
|     pacman_conf="${DATADIR}/pacman-$pac_arch.conf" | ||||
|  | ||||
|     iso_file=$(gen_iso_fn).iso | ||||
|  | ||||
|     mkchroot_args+=(-C ${pacman_conf}) | ||||
|     work_dir=${chroots_iso}/${profile}/${target_arch} | ||||
|  | ||||
|     iso_dir="${cache_dir_iso}/${profile}" | ||||
|  | ||||
|     iso_root=${chroots_iso}/${profile}/iso | ||||
|     mnt_dir=${chroots_iso}/${profile}/mnt | ||||
|     prepare_dir "${mnt_dir}" | ||||
|     prepare_dir "${iso_dir}" | ||||
| } | ||||
|  | ||||
| show_profile(){ | ||||
|     prepare_build | ||||
|     msg2 "iso_file: %s" "${iso_file}" | ||||
|     if ${verbose};then | ||||
|         msg2 "autologin: %s" "${autologin}" | ||||
| @@ -36,7 +66,6 @@ show_profile(){ | ||||
|         msg2 "openrc_boot: %s" "${openrc_boot[*]}" | ||||
|         msg2 "openrc_default: %s" "${openrc_default[*]}" | ||||
|     fi | ||||
|     reset_profile | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
| @@ -69,8 +98,6 @@ load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
|  | ||||
| load_run_dir | ||||
|  | ||||
| clean_first=true | ||||
| pretend=false | ||||
| images_only=false | ||||
| @@ -135,7 +162,9 @@ shift $(($OPTIND - 1)) | ||||
|  | ||||
| check_root | ||||
|  | ||||
| check_requirements | ||||
| prepare_traps | ||||
|  | ||||
| prepare_build | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
|   | ||||
| @@ -37,11 +37,9 @@ display_settings(){ | ||||
|     show_version | ||||
|     show_config | ||||
|  | ||||
|     msg2 "is_build_list: %s" "${is_build_list}" | ||||
|  | ||||
|     msg "OPTIONS:" | ||||
|     msg2 "arch: %s" "${target_arch}" | ||||
|     ${repo_add} && msg2 "repository: %s" "${repository}" | ||||
|     msg2 "repository: %s" "${repository}" | ||||
|     msg2 "chroots_pkg: %s" "${chroots_pkg}" | ||||
|  | ||||
|     msg "ARGS:" | ||||
| @@ -49,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}" | ||||
| @@ -62,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 | ||||
| @@ -76,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' | ||||
| @@ -99,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}") | ||||
|  | ||||
| @@ -110,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') | ||||
|  | ||||
| @@ -125,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' | ||||
| @@ -148,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[*]}") ;; | ||||
| @@ -161,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 ;; | ||||
| @@ -179,8 +178,13 @@ prepare_build | ||||
|  | ||||
| ${pretend} && display_settings && exit | ||||
|  | ||||
| ${delete_first} && delete_chroot "${work_dir}/root" "${work_dir}" | ||||
| if ${delete_first};then | ||||
|     delete_chroot "${work_dir}/root" "${work_dir}" | ||||
|     delete_chroot "${work_dir}/$OWNER" "${work_dir}" | ||||
| fi | ||||
|  | ||||
| ${create_first} && create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}" | ||||
| if ${create_first} || [[ ! -d ${work_dir}/root ]];then | ||||
|     create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}" | ||||
| fi | ||||
|  | ||||
| run make_pkg "${build_list}" | ||||
| build "${package}" | ||||
|   | ||||
| @@ -32,14 +32,11 @@ 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_stable: %s" "${artix_stable}" | ||||
|     msg2 "artix_testing: %s" "${artix_testing}" | ||||
|     msg2 "arch: %s" "${arch}" | ||||
|     msg2 "import_arch: %s" "${import_arch}" | ||||
|  | ||||
| @@ -59,19 +56,15 @@ load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
|  | ||||
| artix_stable=false | ||||
| pretend=false | ||||
| arch=false | ||||
| import_arch=false | ||||
| verbose=false | ||||
| artix_testing=false | ||||
|  | ||||
| rsync_args=(-aWx --progress --delete --no-R --no-implied-dirs) | ||||
|  | ||||
| usage() { | ||||
|     echo "Usage: ${0##*/} [options]" | ||||
|     echo "    -s            Sync artix tree stable" | ||||
|     echo "    -t            Sync artix tree testing" | ||||
|     echo "    -a            Sync arch tree" | ||||
|     echo '    -i            Import arch packages' | ||||
|     echo '    -v            Verbose import output' | ||||
| @@ -84,12 +77,10 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='staivqh' | ||||
| opts='aivqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
|         s) artix_stable=true ;; | ||||
|         t) artix_testing=true ;; | ||||
|         a) arch=true ;; | ||||
|         i) import_arch=true ;; | ||||
|         v) verbose=true; rsync_args+=(-v --stats) ;; | ||||
| @@ -106,8 +97,6 @@ prepare_dir "${tree_dir_arch}" | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| ${artix_stable} && sync_tree_artix "${artix_testing}" | ||||
|  | ||||
| ${arch} && sync_tree_arch | ||||
|  | ||||
| ${import_arch} && import_from_arch | ||||
|   | ||||
| @@ -21,7 +21,6 @@ import ${LIBDIR}/util-yaml-check.sh | ||||
| import ${LIBDIR}/util-profile.sh | ||||
|  | ||||
| show_profile(){ | ||||
|     prepare_build | ||||
|     msg2 "yaml_dir: %s" "${yaml_dir}" | ||||
|     msg2 "autologin: %s" "${autologin}" | ||||
|  | ||||
| @@ -35,9 +34,6 @@ show_profile(){ | ||||
|     msg2 "enable_live: %s" "${enable_live[*]}" | ||||
|     msg2 "openrc_boot: %s" "${openrc_boot[*]}" | ||||
|     msg2 "openrc_default: %s" "${openrc_default[*]}" | ||||
|  | ||||
|     reset_profile | ||||
|     unset yaml_dir | ||||
| } | ||||
|  | ||||
| display_settings(){ | ||||
| @@ -62,11 +58,6 @@ load_user_info | ||||
|  | ||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" | ||||
|  | ||||
| # to force old way to have buildiso run in iso-profiles dir | ||||
| # run_dir=$(pwd) | ||||
|  | ||||
| load_run_dir | ||||
|  | ||||
| calamares=false | ||||
| pretend=false | ||||
| group=false | ||||
| @@ -107,6 +98,8 @@ done | ||||
|  | ||||
| shift $(($OPTIND - 1)) | ||||
|  | ||||
| prepare_build | ||||
|  | ||||
| ${pretend} && display_settings && exit 1 | ||||
|  | ||||
| ${group} && write_pacman_group_yaml "${profile}" && exit 0 | ||||
|   | ||||
| @@ -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,8 +61,9 @@ verbose=false | ||||
| verbose=false | ||||
| add_pkg=false | ||||
| del_pkg=false | ||||
| move=false | ||||
| copy_pkg=false | ||||
| package='' | ||||
| repository='system' | ||||
|  | ||||
| rsync_args=(-rtxisP --progress --delete -e ssh) | ||||
|  | ||||
| @@ -71,9 +73,9 @@ usage() { | ||||
|     echo "    -r                 Repository to sync [default:${repository}]" | ||||
|     echo "    -u                 Upload repository" | ||||
|     echo '    -d                 Download repository' | ||||
|     echo '    -m                 Move package from repository to pool' | ||||
|     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' | ||||
| @@ -85,7 +87,7 @@ usage() { | ||||
|  | ||||
| orig_argv=("$0" "$@") | ||||
|  | ||||
| opts='p:a:r:xymduvqh' | ||||
| opts='p:a:r:xyducvqh' | ||||
|  | ||||
| while getopts "${opts}" arg; do | ||||
|     case "${arg}" in | ||||
| @@ -94,8 +96,8 @@ while getopts "${opts}" arg; do | ||||
|         p) package="$OPTARG" ;; | ||||
|         x) add_pkg=true ;; | ||||
|         y) del_pkg=true ;; | ||||
|         c) copy_pkg=true ;; | ||||
|         d) download=true ;; | ||||
|         m) move=true ;; | ||||
|         u) upload=true; rsync_args+=(-L) ;; | ||||
|         v) verbose=true; rsync_args+=(-v --stats) ;; | ||||
|         q) pretend=true; rsync_args+=(-n) ;; | ||||
| @@ -112,9 +114,7 @@ prepare_dir "${repos_local}" | ||||
|  | ||||
| ${pretend} && display_settings #&& exit 1 | ||||
|  | ||||
| ${move} && move_to_pool "${repository}" "${target_arch}" "${package}" | ||||
|  | ||||
| ${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}" | ||||
|   | ||||
| @@ -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 "$@" | ||||
| } | ||||
|   | ||||
| @@ -8,9 +8,6 @@ | ||||
| # build dir where buildpkg or buildiso chroots are created | ||||
| # chroots_dir=/var/lib/artools | ||||
|  | ||||
| # custom build mirror server | ||||
| # build_mirror=https://netcologne.dl.sourceforge.net/project/artix-linux/repos | ||||
|  | ||||
| # the server user | ||||
| # account=[SetUser] | ||||
|  | ||||
| @@ -27,9 +24,8 @@ | ||||
| ################ artools-pkg ################ | ||||
| ############################################# | ||||
|  | ||||
| # artix package tree | ||||
| # repo_tree_artix=('system' 'world' 'galaxy') | ||||
| # repo_tree_import=('system-arch' 'world-arch' 'galaxy-arch') | ||||
| # artix testing branches import tree | ||||
| # repo_tree_import=('system' 'world' 'galaxy') | ||||
|  | ||||
| # host_tree_artix=https://github.com/artix-linux | ||||
|  | ||||
| @@ -38,9 +34,6 @@ | ||||
|  | ||||
| # host_tree_arch=git://projects.archlinux.org/svntogit | ||||
|  | ||||
| # default pkg build list; name without .list extension | ||||
| # build_list=default | ||||
|  | ||||
| # default repos root | ||||
| # repos_local=${workspace_dir}/repos | ||||
|  | ||||
| @@ -48,9 +41,6 @@ | ||||
| ################ artools-iso ################ | ||||
| ############################################# | ||||
|  | ||||
| # the default profile | ||||
| # profile=base | ||||
|  | ||||
| # the dist release; default: auto | ||||
| # dist_release=rolling | ||||
|  | ||||
|   | ||||
							
								
								
									
										9
									
								
								data/base/Packages-Live
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								data/base/Packages-Live
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										82
									
								
								data/base/Packages-Root
									
									
									
									
									
										Normal 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 | ||||
							
								
								
									
										49
									
								
								data/base/live-overlay/etc/default/grub
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								data/base/live-overlay/etc/default/grub
									
									
									
									
									
										Normal 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" | ||||
							
								
								
									
										5
									
								
								data/base/live-overlay/etc/fstab
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								data/base/live-overlay/etc/fstab
									
									
									
									
									
										Normal 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 | ||||
							
								
								
									
										13
									
								
								data/base/live-overlay/etc/issue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								data/base/live-overlay/etc/issue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| [H[2J | ||||
| Artix Live ISO (\l) - \s-\r \m | ||||
|  | ||||
|  | ||||
|  | ||||
| # Welcome to Artix # | ||||
|  | ||||
|  | ||||
| login for the live environment: | ||||
|     user     'artix' | ||||
|     password 'artix' | ||||
|  | ||||
|  | ||||
							
								
								
									
										6
									
								
								data/base/live-overlay/etc/pam.d/su
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								data/base/live-overlay/etc/pam.d/su
									
									
									
									
									
										Normal 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 | ||||
							
								
								
									
										1
									
								
								data/base/live-overlay/etc/sudoers.d/g_wheel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								data/base/live-overlay/etc/sudoers.d/g_wheel
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| %wheel  ALL=(ALL) NOPASSWD: ALL | ||||
| @@ -1,7 +1,3 @@ | ||||
| ########################################## | ||||
| ###### use this file in the profile ###### | ||||
| ########################################## | ||||
| 
 | ||||
| ################ install ################ | ||||
| 
 | ||||
| # default displaymanager: none | ||||
							
								
								
									
										6
									
								
								data/import.list.d/galaxy.list
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								data/import.list.d/galaxy.list
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| autoconf-archive | ||||
| confuse | ||||
| libappindicator | ||||
| libdbusmenu | ||||
| libftdi | ||||
| libindicator | ||||
| @@ -1,35 +0,0 @@ | ||||
| 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 | ||||
							
								
								
									
										212
									
								
								data/import.list.d/world.list
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										212
									
								
								data/import.list.d/world.list
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,212 @@ | ||||
| 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 | ||||
| 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 | ||||
| @@ -1 +0,0 @@ | ||||
| openrc | ||||
| @@ -35,7 +35,6 @@ error_function() { | ||||
| run_log(){ | ||||
|     local func="$1" | ||||
|     local logfile=${log_dir}/$(gen_iso_fn).$func.log | ||||
| #     local tmpfile=${tmp_dir}/$func.ansi.log | ||||
|     logpipe=$(mktemp -u "${tmp_dir}/$func.pipe.XXXXXXXX") | ||||
|     mkfifo "$logpipe" | ||||
|     tee "$logfile" < "$logpipe" & | ||||
| @@ -43,8 +42,6 @@ run_log(){ | ||||
|     $func &> "$logpipe" | ||||
|     wait $teepid | ||||
|     rm "$logpipe" | ||||
| #     cat $tmpfile | perl -pe 's/\e\[?.*?[\@-~]//g' > $logfile | ||||
| #     rm "$tmpfile" | ||||
| } | ||||
|  | ||||
| run_safe() { | ||||
| @@ -392,42 +389,7 @@ prepare_images(){ | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| check_requirements(){ | ||||
|     [[ -f ${run_dir}/repo_info ]] || die "%s is not a valid iso profiles directory!" "${run_dir}" | ||||
|  | ||||
|     for sig in TERM HUP QUIT; do | ||||
|         trap "trap_exit $sig \"$(gettext "%s signal caught. Exiting...")\" \"$sig\"" "$sig" | ||||
|     done | ||||
|     trap 'trap_exit INT "$(gettext "Aborted by user! Exiting...")"' INT | ||||
|     trap 'trap_exit USR1 "$(gettext "An unknown error has occurred. Exiting...")"' ERR | ||||
| } | ||||
|  | ||||
| prepare_build(){ | ||||
|     timer_start=$(get_timer) | ||||
|     local profile_dir=${run_dir}/${profile} | ||||
|  | ||||
|     load_profile "${profile_dir}" | ||||
|  | ||||
|     local pac_arch='default' pacman_conf | ||||
|     [[ "${target_arch}" == 'x86_64' ]] && pac_arch='multilib' | ||||
|  | ||||
|     pacman_conf="${DATADIR}/pacman-$pac_arch.conf" | ||||
|  | ||||
|     iso_file=$(gen_iso_fn).iso | ||||
|  | ||||
|     mkchroot_args+=(-C ${pacman_conf}) | ||||
|     work_dir=${chroots_iso}/${profile}/${target_arch} | ||||
|  | ||||
|     iso_dir="${cache_dir_iso}/${profile}" | ||||
|  | ||||
|     iso_root=${chroots_iso}/${profile}/iso | ||||
|     mnt_dir=${chroots_iso}/${profile}/mnt | ||||
|     prepare_dir "${mnt_dir}" | ||||
|     prepare_dir "${iso_dir}" | ||||
| } | ||||
|  | ||||
| build(){ | ||||
|     prepare_build | ||||
|     msg "Start building [%s]" "${profile}" | ||||
|     if ${clean_first};then | ||||
|         chroot_clean "${chroots_iso}/${profile}/${target_arch}" | ||||
| @@ -447,7 +409,6 @@ build(){ | ||||
|         prepare_images | ||||
|         compress_images | ||||
|     fi | ||||
|     reset_profile | ||||
|     msg "Finished building [%s]" "${profile}" | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer_start}" | ||||
| } | ||||
|   | ||||
| @@ -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,20 +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}" | ||||
|   | ||||
| @@ -10,27 +10,22 @@ | ||||
| # 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 | ||||
|     local dest=${repos_local}/$repo/os/$arch/$pkg | ||||
|     if [[ $action == "remove" ]];then | ||||
|         dest=$pkg | ||||
|     fi | ||||
|     [[ $action == "remove" ]] && dest=$pkg | ||||
|     repo-$action -R ${repos_local}/$repo/os/$arch/$repo.db.tar.xz $dest | ||||
| } | ||||
|  | ||||
| move_to_pool(){ | ||||
|     local repo="$1" arch="$2" pkg="$3" | ||||
|     cp ${repos_local}/$repo/os/$arch/$pkg{,.sig} ${cache_dir_pkg}/$arch/ | ||||
| } | ||||
|  | ||||
| update_lock(){ | ||||
|     local repo="$1" | ||||
|     rsync "${rsync_args[@]}" --exclude='os' "${repos_local}/$repo/" "$(connect)${repos_remote}/$repo/" | ||||
|   | ||||
| @@ -22,28 +22,6 @@ is_dirty() { | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| sync_tree_branches(){ | ||||
|     local branches=('master') repo="$1" testing="$2" | ||||
|     ${testing} && branches+=('testing') | ||||
|     for branch in ${branches[@]};do | ||||
|         git checkout $branch &> /dev/null | ||||
|         local local_head=$(get_local_head "$branch") | ||||
|         local remote_head=$(get_remote_head "$branch") | ||||
|         local timer=$(get_timer) | ||||
|         msg "Checking [%s] (%s) ..." "$repo" "$branch" | ||||
|         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 $branch | ||||
|         fi | ||||
|         msg "Done [%s] (%s)" "$repo" "$branch" | ||||
|     done | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| sync_tree(){ | ||||
|     local branch="master" repo="$1" | ||||
|     local local_head=$(get_local_head "$branch") | ||||
| @@ -71,32 +49,6 @@ clone_tree(){ | ||||
|     show_elapsed_time "${FUNCNAME}" "${timer}" | ||||
| } | ||||
|  | ||||
| sync_tree_artix(){ | ||||
|     local testing="$1" | ||||
|     cd ${tree_dir_artix} | ||||
|         for repo in ${repo_tree_artix[@]};do | ||||
|             if [[ -d ${repo} ]];then | ||||
|                 cd ${repo} | ||||
|                     $(is_dirty) && die "[%s] has uncommited changes!" "${repo}" | ||||
|                     sync_tree_branches "${repo}" "${testing}" | ||||
|                 cd .. | ||||
|             else | ||||
|                 clone_tree "${repo}" "${host_tree_artix}/${repo}" | ||||
|             fi | ||||
|         done | ||||
|         for repo in ${repo_tree_import[@]};do | ||||
|             if [[ -d ${repo} ]];then | ||||
|                 cd ${repo} | ||||
|                     $(is_dirty) && die "[%s] has uncommited changes!" "${repo}" | ||||
|                     sync_tree "${repo}" | ||||
|                 cd .. | ||||
|             else | ||||
|                 clone_tree "${repo}" "${host_tree_artix}/${repo}" | ||||
|             fi | ||||
|         done | ||||
|     cd .. | ||||
| } | ||||
|  | ||||
| sync_tree_arch(){ | ||||
|     cd ${tree_dir_arch} | ||||
|         for repo in ${repo_tree_arch[@]};do | ||||
| @@ -128,15 +80,16 @@ is_untracked(){ | ||||
| } | ||||
|  | ||||
| import_from_arch(){ | ||||
|     local timer=$(get_timer) | ||||
|     local timer=$(get_timer) branch='testing' | ||||
|     for repo in ${repo_tree_import[@]};do | ||||
|         read_import_list "$repo" | ||||
|         if [[ -n ${import_list[@]} ]];then | ||||
|             cd ${tree_dir_artix}/$repo | ||||
|             git checkout master &> /dev/null | ||||
|             git checkout $branch &> /dev/null | ||||
|             $(is_dirty) && die "[%s] has uncommited changes!" "${repo}" | ||||
|             git pull origin $branch &> /dev/null | ||||
|             local arch_dir=packages | ||||
|             [[ $repo == "galaxy-arch" ]] && arch_dir=community | ||||
|             [[ $repo == "galaxy" ]] && arch_dir=community | ||||
|             msg "Import into [%s]" "$repo" | ||||
|             for pkg in ${import_list[@]};do | ||||
|                 rsync "${rsync_args[@]}" ${tree_dir_arch}/$arch_dir/$pkg/trunk/ ${tree_dir_artix}/$repo/$pkg/ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -8,31 +8,29 @@ | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| # GNU General Public License for more details. | ||||
|  | ||||
| write_repo_conf(){ | ||||
|     local repos=$(find $USER_HOME -type f -name "repo_info") | ||||
|     local path name | ||||
|     [[ -z ${repos[@]} ]] && run_dir=${DATADIR}/iso-profiles && return 1 | ||||
|     for r in ${repos[@]}; do | ||||
|         path=${r%/repo_info} | ||||
|         name=${path##*/} | ||||
|         echo "run_dir=$path" > ${AT_USERCONFDIR}/$name.conf | ||||
|     done | ||||
| } | ||||
|  | ||||
| load_run_dir(){ | ||||
|     local gitrepo='iso-profiles' | ||||
|     [[ -f ${AT_USERCONFDIR}/$gitrepo.conf ]] || write_repo_conf | ||||
|     [[ -r ${AT_USERCONFDIR}/$gitrepo.conf ]] && source ${AT_USERCONFDIR}/$gitrepo.conf | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| load_profile(){ | ||||
|     local profdir="$1" | ||||
|     local profile_conf="$profdir/profile.conf" | ||||
|     local prof="$1" | ||||
|     local profdir="${DATADIR}/iso-profiles/$prof" | ||||
|     [[ "$prof" != 'base' ]] && profdir=${workspace_dir}/iso-profiles/$prof | ||||
|  | ||||
|     [[ -f ${profile_conf} ]] || return 1 | ||||
|     root_list="${DATADIR}/iso-profiles/base/Packages-Root" | ||||
|     [[ -f "$profdir/Packages-Root" ]] && root_list="$profdir/Packages-Root" | ||||
|  | ||||
|     [[ -r ${profile_conf} ]] && source ${profile_conf} | ||||
|     root_overlay="${DATADIR}/iso-profiles/base/root-overlay" | ||||
|     [[ -d "$profdir/root-overlay" ]] && root_overlay="$profdir/root-overlay" | ||||
|  | ||||
|     [[ -f "$profdir/Packages-Desktop" ]] && desktop_list="$profdir/Packages-Desktop" | ||||
|     [[ -d "$profdir/desktop-overlay" ]] && desktop_overlay="$profdir/desktop-overlay" | ||||
|  | ||||
|     live_list="${DATADIR}/iso-profiles/base/Packages-Live" | ||||
|     [[ -f "$profdir/Packages-Live" ]] && live_list="$profdir/Packages-Live" | ||||
|  | ||||
|     live_overlay="${DATADIR}/iso-profiles/base/live-overlay" | ||||
|     [[ -d "$profdir/live-overlay" ]] && live_overlay="$profdir/live-overlay" | ||||
|  | ||||
|     [[ -f $profdir/profile.conf ]] || return 1 | ||||
|  | ||||
|     [[ -r $profdir/profile.conf ]] && source $profdir/profile.conf | ||||
|  | ||||
|     [[ -z ${displaymanager} ]] && displaymanager="none" | ||||
|  | ||||
| @@ -61,44 +59,11 @@ load_profile(){ | ||||
|  | ||||
|     enable_live=('artix-live' 'pacman-init') | ||||
|  | ||||
|     netgroups="https://raw.githubusercontent.com/artix-linux/netgroups/master" | ||||
|  | ||||
|     root_list=${run_dir}/base/Packages-Root | ||||
|     [[ -f "$profdir/Packages-Root" ]] && root_list="$profdir/Packages-Root" | ||||
|  | ||||
|     root_overlay="${run_dir}/base/root-overlay" | ||||
|     [[ -d "$profdir/root-overlay" ]] && root_overlay="$profdir/root-overlay" | ||||
|  | ||||
|     [[ -f "$profdir/Packages-Desktop" ]] && desktop_list=$profdir/Packages-Desktop | ||||
|     [[ -d "$profdir/desktop-overlay" ]] && desktop_overlay="$profdir/desktop-overlay" | ||||
|  | ||||
|     live_list="${run_dir}/base/Packages-Live" | ||||
|     [[ -f "$profdir/Packages-Live" ]] && live_list="$profdir/Packages-Live" | ||||
|  | ||||
|     live_overlay="${run_dir}/base/live-overlay" | ||||
|     [[ -d "$profdir/live-overlay" ]] && live_overlay="$profdir/live-overlay" | ||||
|     [[ -z ${netgroups} ]] && netgroups="https://raw.githubusercontent.com/artix-linux/netgroups/master" | ||||
|  | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| reset_profile(){ | ||||
|     unset displaymanager | ||||
|     unset autologin | ||||
|     unset hostname | ||||
|     unset username | ||||
|     unset password | ||||
|     unset addgroups | ||||
|     unset openrc_boot | ||||
|     unset openrc_default | ||||
|     unset enable_live | ||||
|     unset root_list | ||||
|     unset desktop_list | ||||
|     unset live_list | ||||
|     unset root_overlay | ||||
|     unset desktop_overlay | ||||
|     unset live_overlay | ||||
| } | ||||
|  | ||||
| write_live_session_conf(){ | ||||
|     local path=$1${SYSCONFDIR} | ||||
|     [[ ! -d $path ]] && mkdir -p "$path" | ||||
|   | ||||
| @@ -38,17 +38,12 @@ gen_fn(){ | ||||
| } | ||||
|  | ||||
| prepare_build(){ | ||||
|     local profile_dir=${run_dir}/${profile} | ||||
|  | ||||
|     load_profile "${profile_dir}" | ||||
|  | ||||
|     load_profile "${profile}" | ||||
|     yaml_dir=${cache_dir_netinstall}/${profile}/${target_arch} | ||||
|  | ||||
|     prepare_dir "${yaml_dir}" | ||||
| } | ||||
|  | ||||
| build(){ | ||||
|     prepare_build | ||||
|     load_pkgs "${root_list}" "${target_arch}" "${initsys}" "${kernel}" | ||||
|     write_netgroup_yaml "${profile}" "$(gen_fn "Packages-Root")" | ||||
|     if [[ -f "${desktop_list}" ]]; then | ||||
| @@ -56,6 +51,4 @@ build(){ | ||||
|         write_netgroup_yaml "${profile}" "$(gen_fn "Packages-Desktop")" | ||||
|     fi | ||||
|     ${calamares} && configure_calamares "${yaml_dir}" | ||||
|     reset_profile | ||||
|     unset yaml_dir | ||||
| } | ||||
|   | ||||
							
								
								
									
										27
									
								
								lib/util.sh
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								lib/util.sh
									
									
									
									
									
								
							| @@ -37,14 +37,9 @@ prepare_dir(){ | ||||
|     [[ ! -d $1 ]] && mkdir -p $1 | ||||
| } | ||||
|  | ||||
| get_release(){ | ||||
|     source /etc/lsb-release | ||||
|     echo "${DISTRIB_RELEASE}" | ||||
| } | ||||
|  | ||||
| get_distname(){ | ||||
|     source /etc/lsb-release | ||||
|     echo "${DISTRIB_ID%Linux}" | ||||
|     source /usr/lib/os-release | ||||
|     echo "${NAME%Linux}" | ||||
| } | ||||
|  | ||||
| get_disturl(){ | ||||
| @@ -68,8 +63,6 @@ init_artools_base(){ | ||||
|  | ||||
|     [[ -z ${chroots_dir} ]] && chroots_dir='/var/lib/artools' | ||||
|  | ||||
|     [[ -z ${build_mirror} ]] && build_mirror='https://downloads.sourceforge.net/project/artix-linux/repos' | ||||
|  | ||||
|     log_dir='/var/log/artools' | ||||
|  | ||||
|     tmp_dir='/tmp' | ||||
| @@ -91,9 +84,7 @@ init_artools_pkg(){ | ||||
|  | ||||
|     [[ -z ${tree_dir_artix} ]] && tree_dir_artix=${workspace_dir}/artix | ||||
|  | ||||
|     [[ -z ${repo_tree_artix[@]} ]] && repo_tree_artix=('system' 'world' 'galaxy') | ||||
|  | ||||
|     [[ -z ${repo_tree_import[@]} ]] && repo_tree_import=('system-arch' 'world-arch' 'galaxy-arch') | ||||
|     [[ -z ${repo_tree_import[@]} ]] && repo_tree_import=('system' 'world' 'galaxy') | ||||
|  | ||||
|     [[ -z ${host_tree_artix} ]] && host_tree_artix='https://github.com/artix-linux' | ||||
|  | ||||
| @@ -109,20 +100,12 @@ init_artools_pkg(){ | ||||
|  | ||||
|     chroots_pkg="${chroots_dir}/buildpkg" | ||||
|  | ||||
|     list_dir_pkg="${SYSCONFDIR}/pkg.list.d" | ||||
|  | ||||
|     make_conf_dir="${SYSCONFDIR}/make.conf.d" | ||||
|  | ||||
|     [[ -d ${AT_USERCONFDIR}/pkg.list.d ]] && list_dir_pkg=${AT_USERCONFDIR}/pkg.list.d | ||||
|  | ||||
|     [[ -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##*/}" | ||||
| @@ -135,9 +118,9 @@ init_artools_iso(){ | ||||
|  | ||||
|     prepare_dir "${cache_dir_iso}" | ||||
|  | ||||
|     [[ -z ${profile} ]] && profile='base' | ||||
|     profile='base' | ||||
|  | ||||
|     [[ -z ${dist_release} ]] && dist_release=$(get_release) | ||||
|     [[ -z ${dist_release} ]] && dist_release=$(date +%Y%m%d) | ||||
|  | ||||
|     dist_name=$(get_distname) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user