Compare commits

..

60 Commits
0.7.5 ... 0.8.2

Author SHA1 Message Date
udeved
baf290d3aa Makefile: rm base profile 2018-04-26 19:37:37 +02:00
udeved
1f379eec51 Merge branch 'devel' of github.com:artix-linux/artools 2018-04-26 19:32:55 +02:00
udeved
c4d1425c46 move base profile in iso-profiles 2018-04-26 19:30:59 +02:00
udeved
e5211838e8 Merge branch 'devel' of github.com:artix-linux/artools 2018-04-17 21:28:02 +02:00
udeved
441c97730b util-iso: append if runit to iso filename 2018-04-15 03:08:47 +02:00
udeved
8ca984325a util-iso-profiles: make setting DM easy to expand 2018-04-15 02:57:17 +02:00
artoo
3c4fc6e00b Merge pull request #42 from konimex/devel
Add initial runit support
2018-04-15 00:05:10 +02:00
udeved
20a20ee8bb buildiso: set the DM on runit 2018-04-14 22:44:30 +02:00
2aae876d98 Detect the service directory using the correct check.
I was an idiot..
2018-04-14 21:16:24 +07:00
a19379596d Add initial runit support 2018-04-14 21:15:49 +07:00
udeved
af8ab5fd1e buildiso: runit support for servicescfg 2018-04-14 10:37:10 +02:00
artoo
1c56ce7f8c Merge pull request #63 from artix-linux/devel
Devel
2018-04-11 17:14:38 +02:00
udeved
f80c5bf587 Makefile: clean up iso install & uninstall 2018-04-11 17:11:35 +02:00
udeved
d5c8af7025 initcpio: fix uninstall 2018-04-11 12:31:05 +02:00
udeved
12a41ec0b2 Makefile: fix sub makes 2018-04-11 12:23:52 +02:00
udeved
b5eb287867 Makefile: use CPIODIR 2018-04-11 12:18:12 +02:00
udeved
3e4fbd892e readme: fix typo 2018-04-11 11:56:11 +02:00
udeved
dca96f29d7 readme: update 2018-04-11 11:49:24 +02:00
udeved
a382bdc83a Makefile: split initcpio 2018-04-11 11:26:54 +02:00
udeved
b73aec6031 initcpio: add makefile 2018-04-11 11:26:35 +02:00
udeved
88f1145c96 Makefile: split base profile in sep. Makefile 2018-04-11 11:03:36 +02:00
udeved
43bc1d149a Makefile: add default mode 2018-04-10 15:30:14 +02:00
udeved
ffa532591c Makefile: cleanup uninstall 2018-04-10 15:22:11 +02:00
udeved
f9f8ca6b68 Makefile: define overlaydir 2018-04-10 14:25:55 +02:00
udeved
dbc3a94906 Makefile: add condition flags 2018-04-10 11:55:19 +02:00
udeved
8e4b5f88ca start 0.8 2018-04-10 00:32:26 +02:00
udeved
104cc0b1ef data: fix base profile fstab 2018-04-10 00:29:07 +02:00
udeved
ce790fcaab Makefile: fix uninstall 2018-04-10 00:28:11 +02:00
udeved
2d03e16a5f buildiso: add goblins repo support 2018-04-08 14:17:41 +02:00
udeved
64e0badbac Makefile: add buildiso-goblins symlink 2018-04-08 14:13:14 +02:00
udeved
a94afab8a0 readme: update 2018-04-07 16:30:01 +02:00
artoo
1d3c77dc73 Merge pull request #62 from artix-linux/devel
deploypkg: simplify code in update_repo()
2018-04-07 12:03:33 +02:00
udeved
1cccece399 deploypkg: simplify code in update_repo() 2018-04-06 23:05:15 +02:00
artoo
cc8b47912e Merge pull request #61 from artix-linux/devel
Devel
2018-04-06 22:19:26 +02:00
udeved
f36cf35d9a deploypkg: enable checkpkg on add 2018-04-06 22:17:46 +02:00
udeved
cca5283db6 deploypkg: optimize pacman db access 2018-04-06 22:04:39 +02:00
udeved
d6bf8bcf12 util-pkg: check for PKGBUILD instead of checking for repo dir in find_repo() 2018-04-06 21:04:49 +02:00
udeved
88886de9e9 remove vbox from base Packages-Live 2018-03-31 11:19:53 +02:00
artoo
55b0cd4ae2 Merge pull request #59 from artix-linux/devel
Devel
2018-03-30 23:39:01 +02:00
udeved
84a51f4a9e buildtree: code cleanup 2018-03-30 23:27:55 +02:00
udeved
87ad3a631a buildtree: add option to import from trunk, defaults to repos/$repo 2018-03-30 16:15:50 +02:00
udeved
2a70b5f123 commitpkg: quote some vars 2018-03-30 16:15:18 +02:00
udeved
3106e8975f commitpkg: make move more safe; prevent unwanted subdir in $repo in few cases 2018-03-30 02:18:25 +02:00
udeved
4a02e2d7be buildtree: init unstable false
unstable repos are only included on -x
2018-03-28 21:15:12 +02:00
udeved
4363421ce8 mkchrootpkg: revert fix verifysource with pacman-git until new pacman version 2018-03-27 20:38:38 +02:00
udeved
4b96a54347 buildtree: add -x to disable arch unstale kde and gnome when comparing 2018-03-27 20:12:59 +02:00
udeved
0ad953ead8 mkchrootpkg: port arch patch 2018-03-27 19:05:42 +02:00
udeved
45ebe43272 buildtree: fix upate display by sourcing the repo build instead of trunk 2018-03-27 19:04:58 +02:00
udeved
1c64fe7f69 commitpkg: make move more safe 2018-03-22 11:16:02 +01:00
udeved
c2a030b016 mkpkgclean: fix pretend 2018-03-18 16:44:25 +01:00
udeved
94670e18e7 add mkpkgclean 2018-03-18 16:20:00 +01:00
udeved
5c835b6e2c deploypkg: navigate in the repo dir in order to make old package removal work on repo-add 2018-03-18 15:47:53 +01:00
udeved
3f803be6b8 buildtree: clean view 2018-03-17 01:23:54 +01:00
udeved
70b81d7ff8 buildtree: view arch 2018-03-16 19:04:41 +01:00
udeved
12a34bd5a2 buildtree: add option to view depends of a given pkg 2018-03-16 18:53:59 +01:00
udeved
11504d3267 buildtree: fix checkdepends msg 2018-03-15 17:16:55 +01:00
udeved
203df20e76 commitpkg: prevent trunk dir copy in certain cases 2018-03-14 09:32:57 +01:00
udeved
184259c600 Merge branch 'devel' of github.com:artix-linux/artools 2018-03-12 21:50:29 +01:00
udeved
b95c7dee0d mkchrootpkg: reenable ctty workaround 2018-03-12 21:49:20 +01:00
udeved
c7c67fbc21 buildtree: show arch kde and gnome unstable 2018-03-12 21:47:34 +01:00
22 changed files with 499 additions and 513 deletions

232
Makefile
View File

@@ -1,9 +1,39 @@
Version=0.7 VERSION=0.8
Chroot_version=0.7 CHROOT_VERSION=0.7
TOOLS = artools
ifdef PREFIX
PREFIX = /usr/local PREFIX = /usr/local
endif
SYSCONFDIR = /etc SYSCONFDIR = /etc
BINDIR = $(PREFIX)/bin
LIBDIR = $(PREFIX)/lib
DATADIR = $(PREFIX)/share
DIRMODE = -dm0755
FILEMODE = -m0644
MODE = -m0755
LN = ln -sf
RM = rm -f
RMD = rm -fr --one-file-system
M4 = m4 -P
CHMODAW = chmod a-w
CHMODX = chmod +x
ifdef WITH-PKG
WITH-PKG = no
else
WITH-PKG = yes
endif
ifdef WITH-ISO
WITH-ISO = no
else
WITH-ISO = yes
endif
CPIODIR = $(SYSCONFDIR)/initcpio
SYSCONF = \ SYSCONF = \
data/artools.conf data/artools.conf
@@ -35,7 +65,8 @@ BIN_PKG = \
bin/buildpkg \ bin/buildpkg \
bin/buildtree \ bin/buildtree \
bin/deploypkg \ bin/deploypkg \
bin/commitpkg bin/commitpkg \
bin/mkpkgclean
LIBS_PKG = \ LIBS_PKG = \
$(wildcard lib/util-pkg*.sh) $(wildcard lib/util-pkg*.sh)
@@ -62,159 +93,138 @@ BIN_ISO = \
bin/buildiso \ bin/buildiso \
bin/deployiso bin/deployiso
BIN_ISO_SYMS = \
buildiso-gremlins \
buildiso-goblins
LIBS_ISO = \ LIBS_ISO = \
$(wildcard lib/util-iso*.sh) $(wildcard lib/util-iso*.sh)
SHARED_ISO = \ SHARED_ISO = \
data/mkinitcpio.conf data/mkinitcpio.conf
CPIOHOOKS = \ ifeq ($(WITH-PKG),yes)
$(wildcard initcpio/hooks/*)
CPIOINST = \ all: $(BIN_PKG)
$(wildcard initcpio/install/*)
CPIO = \ endif
initcpio/script/artix_shutdown
BASE = \ ifeq ($(WITH-ISO),yes)
$(wildcard data/base/Packages-*) \
data/base/profile.conf
LIVE_ETC = \ all: $(BIN_ISO)
data/base/live-overlay/etc/issue \
data/base/live-overlay/etc/fstab
LIVE_ETC_DEFAULT = \ endif
$(wildcard data/base/live-overlay/etc/default/*)
LIVE_ETC_PAM = \ all: $(BIN_BASE)
$(wildcard data/base/live-overlay/etc/pam.d/*)
LIVE_ETC_SUDOERS = \ EDIT = sed -e "s|@datadir[@]|$(DATADIR)/$(TOOLS)|g" \
$(wildcard data/base/live-overlay/etc/sudoers.d/*) -e "s|@sysconfdir[@]|$(SYSCONFDIR)/$(TOOLS)|g" \
-e "s|@libdir[@]|$(LIBDIR)/$(TOOLS)|g" \
all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO) -e "s|@version@|$(VERSION)|" \
-e "s|@chroot_version@|$(CHROOT_VERSION)|"
edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \
-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \
-e "s|@libdir[@]|$(DESTDIR)$(PREFIX)/lib/artools|g" \
-e "s|@version@|${Version}|" \
-e "s|@chroot_version@|${Chroot_version}|"
%: %.in Makefile %: %.in Makefile
@echo "GEN $@" @echo "GEN $@"
@$(RM) "$@" @$(RM) "$@"
@m4 -P $@.in | $(edit) >$@ @$(M4) $@.in | $(EDIT) >$@
@chmod a-w "$@" @$(CHMODAW) "$@"
@chmod +x "$@" @$(CHMODX) "$@"
clean: clean:
rm -f $(BIN_BASE) ${BIN_PKG} ${BIN_ISO} $(RM) $(BIN_BASE) $(BIN_PKG) $(BIN_ISO)
install_base: install_base:
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools install $(DIRMODE) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
install -m0644 ${SYSCONF} $(DESTDIR)$(SYSCONFDIR)/artools install $(FILEMODE) $(SYSCONF) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
install -dm0755 $(DESTDIR)$(PREFIX)/bin install $(DIRMODE) $(DESTDIR)$(BINDIR)
install -m0755 ${BIN_BASE} $(DESTDIR)$(PREFIX)/bin install $(MODE) $(BIN_BASE) $(DESTDIR)$(BINDIR)
install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools install $(DIRMODE) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -m0644 ${LIBS_BASE} $(DESTDIR)$(PREFIX)/lib/artools install $(FILEMODE) $(LIBS_BASE) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
install -m0644 ${SHARED_BASE} $(DESTDIR)$(PREFIX)/share/artools install $(FILEMODE) $(SHARED_BASE) $(DESTDIR)$(DATADIR)/$(TOOLS)
install_pkg: install_pkg:
install -dm0755 $(DESTDIR)$(PREFIX)/bin install $(DIRMODE) $(DESTDIR)$(BINDIR)
install -m0755 ${BIN_PKG} $(DESTDIR)$(PREFIX)/bin install $(MODE) $(BIN_PKG) $(DESTDIR)$(BINDIR)
ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides $(LN) find-libdeps $(DESTDIR)$(BINDIR)/find-libprovides
for l in ${COMMITPKG_SYMS}; do ln -sf commitpkg $(DESTDIR)$(PREFIX)/bin/$$l; done for l in $(COMMITPKG_SYMS); do $(LN) commitpkg $(DESTDIR)$(BINDIR)/$$l; done
install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools install $(DIRMODE) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -m0644 ${LIBS_PKG} $(DESTDIR)$(PREFIX)/lib/artools install $(FILEMODE) $(LIBS_PKG) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
install -m0644 ${SHARED_PKG} $(DESTDIR)$(PREFIX)/share/artools install $(FILEMODE) $(SHARED_PKG) $(DESTDIR)$(DATADIR)/$(TOOLS)
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/patches install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)/patches
install -m0644 ${PATCHES} $(DESTDIR)$(PREFIX)/share/artools/patches install $(FILEMODE) $(PATCHES) $(DESTDIR)$(DATADIR)/$(TOOLS)/patches
install_cpio:
+make CPIODIR=$(CPIODIR) DESTDIR=$(DESTDIR) -C initcpio install
install_isobase: install_iso: install_cpio
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base install $(DIRMODE) $(DESTDIR)$(BINDIR)
install -m0644 ${BASE} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base install $(MODE) $(BIN_ISO) $(DESTDIR)$(BINDIR)
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc for l in $(BIN_ISO_SYMS); do $(LN) buildiso $(DESTDIR)$(BINDIR)/$$l; done
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 $(DIRMODE) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -m0644 ${LIVE_ETC_DEFAULT} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/default install $(FILEMODE) $(LIBS_ISO) $(DESTDIR)$(LIBDIR)/$(TOOLS)
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d install $(DIRMODE) $(DESTDIR)$(DATADIR)/$(TOOLS)
install -m0644 ${LIVE_ETC_PAM} $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/live-overlay/etc/pam.d install $(FILEMODE) $(SHARED_ISO) $(DESTDIR)$(DATADIR)/$(TOOLS)
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
ln -sf buildiso $(DESTDIR)$(PREFIX)/bin/buildiso-gremlins
install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools
install -m0644 ${LIBS_ISO} $(DESTDIR)$(PREFIX)/lib/artools
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/initcpio/hooks
install -m0755 ${CPIOHOOKS} $(DESTDIR)$(SYSCONFDIR)/initcpio/hooks
install -dm0755 $(DESTDIR)$(SYSCONFDIR)/initcpio/install
install -m0755 ${CPIOINST} $(DESTDIR)$(SYSCONFDIR)/initcpio/install
install -m0755 ${CPIO} $(DESTDIR)$(SYSCONFDIR)/initcpio
install -dm0755 $(DESTDIR)$(PREFIX)/share/artools
install -m0644 ${SHARED_ISO} $(DESTDIR)$(PREFIX)/share/artools
uninstall_base: uninstall_base:
for f in ${SYSCONF}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/$$f; done for f in $(notdir $(SYSCONF)); do $(RM) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)/$$f; done
for f in ${BIN_BASE}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done for f in $(notdir $(BIN_BASE)); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
for f in ${SHARED_BASE}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done for f in $(notdir $(LIBS_BASE)); do $(RM) $(DESTDIR)$(LIBDIR)/$(TOOLS)/$$f; done
for f in ${LIBS_BASE}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done for f in $(notdir $(SHARED_BASE)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/$$f; done
$(RMD) $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)
$(RMD) $(DESTDIR)$(LIBDIR)/$(TOOLS)
$(RMD) $(DESTDIR)$(DATADIR)/$(TOOLS)
uninstall_pkg: uninstall_pkg:
for f in ${BIN_PKG}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done for f in $(notdir $(BIN_PKG)); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
rm -f $(DESTDIR)$(PREFIX)/bin/find-libprovides $(RM) $(DESTDIR)$(BINDIR)/find-libprovides
for l in ${COMMITPKG_SYMS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done for l in $(COMMITPKG_SYMS); do $(RM) $(DESTDIR)$(BINDIR)/$$l; done
for f in ${SHARED_PKG}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done for f in $(notdir $(LIBS_PKG)); do $(RM) $(DESTDIR)$(LIBDIR)/$(TOOLS)/$$f; done
for f in ${PATCHES}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/patches/$$f; done for f in $(notdir $(PATCHES)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/patches/$$f; done
for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done for f in $(notdir $(SHARED_PKG)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/$$f; done
uninstall_isobase: uninstall_cpio:
for f in ${BASE}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/iso-profiles/base/$$f; done +make CPIODIR=$(CPIODIR) DESTDIR=$(DESTDIR) -C initcpio uninstall
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: uninstall_iso: uninstall_cpio
for f in ${BIN_ISO}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done for f in $(notdir $(BIN_ISO)); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
rm -f $(DESTDIR)$(PREFIX)/bin/buildiso-gremlins for l in $(notdir $(BIN_ISO_SYMS)); do $(RM) $(DESTDIR)$(BINDIR)/$$l; done
for f in ${SHARED_ISO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done for f in $(notdir $(LIBS_ISO)); do $(RM) $(DESTDIR)$(LIBDIR)/$(TOOLS)/$$f; done
for f in $(notdir $(SHARED_ISO)); do $(RM) $(DESTDIR)$(DATADIR)/$(TOOLS)/$$f; done
for f in ${LIBS_ISO}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done ifeq ($(WITH-PKG),yes)
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
install: install_base install_pkg install_iso install_isobase install: install_pkg
uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_isobase uninstall: uninstall_pkg
endif
ifeq ($(WITH-ISO),yes)
install: install_iso
uninstall: uninstall_iso
endif
install: install_base
uninstall: uninstall_base
dist: dist:
git archive --format=tar --prefix=artools-$(Version)/ $(Version) | gzip -9 > artools-$(Version).tar.gz git archive --format=tar --prefix=$(TOOLS)-$(VERSION)/ $(VERSION) | gzip -9 > $(TOOLS)-$(VERSION).tar.gz
gpg --detach-sign --use-agent artools-$(Version).tar.gz gpg --detach-sign --use-agent $(TOOLS)-$(VERSION).tar.gz
.PHONY: all clean install uninstall dist .PHONY: all clean install uninstall dist

View File

@@ -1,42 +1,72 @@
artools artools
============= =============
User manual #### Make flags
### 1. artools.conf
* PREFIX=/usr/local (default if defined)
* SYSCONFDIR=/etc
* WITH-PKG=yes
* WITH-ISO=yes
#### Dependencies
##### Buildtime:
* make
* git
* m4
##### Runtime:
- base:
* openssh
* rsync
* haveged
* os-prober
* gnupg
* pacman
- pkg:
* namcap
* git
- iso:
* dosfstools
* libisoburn
* squashfs-tools
* mkinitcpio
* mktorrent
* grub
#### Configuration
artools.conf is the central configuration file for artools. artools.conf is the central configuration file for artools.
By default, the config is installed in By default, the config is installed in
~~~ /etc/artools/artools.conf
/etc/artools/artools.conf
~~~
A user artools.conf can be placed in A user artools.conf can be placed in
~~~ $HOME/.config/artools/artools.conf
$HOME/.config/artools/artools.conf
~~~
If the userconfig is present, artools will load the userconfig values, however, if variables have been set in the systemwide If the userconfig is present, artools will load the userconfig values, however, if variables have been set in the systemwide
~~~ These values take precedence over the userconfig.
/etc/artools/artools.conf
~~~
these values take precedence over the userconfig.
Best practise is to leave systemwide file untouched. Best practise is to leave systemwide file untouched.
By default it is commented and shows just initialization values done in code. By default it is commented and shows just initialization values done in code.
Tools configuration is done in artools.conf or by args. Tools configuration is done in artools.conf or by args.
Specifying args will override artools.conf settings. Specifying args will override artools.conf settings.
~~~ Both, pacman.conf and makepkg.conf for chroots are loaded from
$HOME/.config/artools/import.list.d
~~~
overriding /usr/share/artools/{makepkg,pacman-*}.conf
~~~ and can be overridden dropping them in
/etc/artools/import.list.d
~~~ $HOME/.config/artools/

View File

@@ -29,7 +29,7 @@ prepare_build(){
local pacman_conf pac_file="pacman-default.conf" local pacman_conf pac_file="pacman-default.conf"
case "${stablility}" in case "${stablility}" in
'gremlins') pac_file="pacman-${stablility}.conf" ;; 'gremlins'|'goblins') pac_file="pacman-${stablility}.conf" ;;
esac esac
pacman_conf="${DATADIR}/$pac_file" pacman_conf="${DATADIR}/$pac_file"

View File

@@ -55,25 +55,47 @@ show_version_table(){
for tree in packages packages-galaxy;do for tree in packages packages-galaxy;do
local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d) local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d)
for pkg_path in ${git[@]}; do for pkg_path in ${git[@]}; do
local artixrepo=$(find_repo "$pkg_path") local artixrepo=$(find_repo "$pkg_path" "${unstable}")
if [[ -d $pkg_path/repos/$artixrepo ]];then if [[ -d $pkg_path/repos/$artixrepo ]];then
source $pkg_path/trunk/PKGBUILD 2>/dev/null source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null
local pkg=${pkg_path##*/} local pkg=${pkg_path##*/}
local artixver=$(get_full_version $pkg) local artixver=$(get_full_version $pkg)
local src=$(get_import_path "$tree" "$pkg") local src=$(get_import_path "$tree" "$pkg")
local archrepo=$(find_repo "$src/$pkg") local archrepo=$(find_repo "$src/$pkg" "${unstable}")
if [[ -d $src/$pkg/repos/$archrepo ]];then if [[ -d $src/$pkg/repos/$archrepo ]];then
source $src/$pkg/trunk/PKGBUILD 2>/dev/null source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null
local archver=$(get_full_version $pkg) local archver=$(get_full_version $pkg)
fi fi
if [ $(vercmp $artixver $archver) -lt 0 ];then if ${artix};then
local ar=$(arch_to_artix_repo "$artixrepo") if [ $(vercmp $artixver $archver) -eq 0 ] || [ $(vercmp $artixver $archver) -gt 0 ];then
${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" local ar=$(arch_to_artix_repo "$artixrepo")
fi case $ar in
if [ $(vercmp $artixver $archver) -gt 0 ];then *goblins)
local ar=$(arch_to_artix_repo "$artixrepo") if [[ $archrepo == $artixrepo ]];then
if [[ -n $archver ]] && [[ -n $archrepo ]];then msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
*gremlins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
esac
fi
else
if [ $(vercmp $artixver $archver) -lt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
${upgrades} && msg_row_upgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
if [ $(vercmp $artixver $archver) -gt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
if [[ -n $archver ]] && [[ -n $archrepo ]];then
${downgrades} && msg_row_downgrade "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
fi fi
fi fi
unset pkgver epoch pkgrel artixver archver _package unset pkgver epoch pkgrel artixver archver _package
@@ -82,68 +104,39 @@ show_version_table(){
done done
} }
show_artix_table(){ show_deps(){
msg_table_header "%-20s %-20s %-25s %-30s %-30s" "Arch Repo" "Artix Repo" "Package" "Arch version" "Artix version" local src="$1" repo="$2"
for tree in packages packages-galaxy;do source $src/PKGBUILD 2>/dev/null
local git=$(find ${tree_dir_artix}/$tree/ -mindepth 1 -maxdepth 1 -type d) [[ $arch == 'any' ]] && CARCH=any
for pkg_path in ${git[@]}; do local archver=$(get_full_version $pkg)
local artixrepo=$(find_repo "$pkg_path") msg "git tree: %s" "$git_tree_arch"
if [[ -d $pkg_path/repos/$artixrepo ]];then msg2 "repo: %s" "$repo"
source $pkg_path/repos/$artixrepo/PKGBUILD 2>/dev/null msg2 "Package Name: %s" "$pkg"
local pkg=${pkg_path##*/} msg2 "Arch Version: %s" "$archver"
local artixver=$(get_full_version $pkg) msg2 "arch: %s" "$CARCH"
local src=$(get_import_path "$tree" "$pkg") [[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
local archrepo=$(find_repo "$src/$pkg") [[ -n ${checkdepends[@]} ]] && msg2 "checkdepends: %s" "${checkdepends[*]}"
if [[ -d $src/$pkg/repos/$archrepo ]];then [[ -n ${depends[@]} ]] && msg2 "depends: %s" "${depends[*]}"
source $src/$pkg/repos/$archrepo/PKGBUILD 2>/dev/null [[ -n ${optdepends[@]} ]] && msg2 "optdepends: %s" "${optdepends[@]}"
local archver=$(get_full_version $pkg)
fi
if [ $(vercmp $artixver $archver) -eq 0 ] || [ $(vercmp $artixver $archver) -gt 0 ];then
local ar=$(arch_to_artix_repo "$artixrepo")
case $ar in
*goblins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
*gremlins)
if [[ $archrepo == $artixrepo ]];then
msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
else
msg_row_notify "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver"
fi
;;
# system|world|galaxy|lib32) msg_row "%-20s %-20s %-25s %-30s %-30s" "${archrepo%-*}" "${ar}" "$pkg" "$archver" "$artixver" ;;
esac
fi
unset pkgver epoch pkgrel artixver archver _package
fi
done
done
} }
from_arch(){ from_arch(){
local pkg="$1" src= dest= local pkg="$1" src= dest=
local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg") local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
[[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg" [[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
src=${tree_dir_arch}/$git_tree_arch/$pkg/trunk
local pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
local repo=$(find_repo "$pkg_path" "${unstable}")
src=$pkg_path/repos/$repo
$trunk && src=$pkg_path/trunk
local git_tree_artix=$(find_tree "${tree_dir_artix}" "$pkg") local git_tree_artix=$(find_tree "${tree_dir_artix}" "$pkg")
dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk dest=${tree_dir_artix}/$git_tree_artix/$pkg/trunk
cd ${tree_dir_arch}/$git_tree_arch cd ${tree_dir_arch}/$git_tree_arch
source $src/PKGBUILD 2>/dev/null show_deps "$src" "$repo"
local archver=$(get_full_version $pkg)
msg "Package: %s" "$pkg"
msg2 "Arch Version: %s" "$archver"
[[ -n ${makedepends[@]} ]] && msg2 "makedepends: %s" "${makedepends[*]}"
[[ -n ${checkdepends[@]} ]] && msg2 "depends: %s" "${checkdepends[*]}"
[[ -n ${depends[@]} ]] && msg2 "depends: %s" "${depends[*]}"
if [[ -d $dest ]];then if [[ -d $dest ]];then
cd ${tree_dir_artix}/$git_tree_artix cd ${tree_dir_artix}/$git_tree_artix
@@ -170,6 +163,19 @@ from_arch(){
fi fi
} }
view_build(){
local pkg="$1" src=
local git_tree_arch=$(find_tree "${tree_dir_arch}" "$pkg")
[[ -z $git_tree_arch ]] && die "Package '%s' does not exist!" "$pkg"
local pkg_path=${tree_dir_arch}/$git_tree_arch/$pkg
local repo=$(find_repo "$pkg_path" "${unstable}")
src=$pkg_path/repos/$repo
show_deps "$src" "$repo"
}
sync_repos(){ sync_repos(){
${sync_arch} && pull_tree_arch ${sync_arch} && pull_tree_arch
pull_tree_artix pull_tree_artix
@@ -190,6 +196,8 @@ display_settings(){
msg2 "downgrades: %s" "${downgrades}" msg2 "downgrades: %s" "${downgrades}"
msg2 "artix: %s" "${artix}" msg2 "artix: %s" "${artix}"
msg2 "import: %s" "${import}" msg2 "import: %s" "${import}"
msg2 "view: %s" "${view}"
msg2 "trunk: %s" "${trunk}"
msg "PATHS:" msg "PATHS:"
msg2 "tree_dir_artix: %s" "${tree_dir_artix}" msg2 "tree_dir_artix: %s" "${tree_dir_artix}"
@@ -206,10 +214,13 @@ pretend=false
sync=false sync=false
sync_arch=true sync_arch=true
compare=false compare=false
upgrades=true unstable=false
upgrades=false
downgrades=false downgrades=false
artix=false artix=false
import=false import=false
view=false
trunk=false
package='' package=''
rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs) rsync_args=(-aWxvci --progress --delete-before --no-R --no-implied-dirs)
@@ -220,10 +231,13 @@ usage() {
echo " -s Clone or pull repos" echo " -s Clone or pull repos"
echo " -z Don't clone or pull arch repos" echo " -z Don't clone or pull arch repos"
echo ' -c Compare packages' echo ' -c Compare packages'
echo ' -x Include unstable kde and gnome'
echo ' -u Show upgrade packages' echo ' -u Show upgrade packages'
echo ' -d Show downgrade packages' echo ' -d Show downgrade packages'
echo ' -a Show artix specific packages' echo ' -a Show testing and staging packages'
echo ' -i Import a package from arch' echo ' -i Import a package from arch repos'
echo ' -t Import from arch trunk'
echo ' -v View package depends'
echo ' -q Query settings' echo ' -q Query settings'
echo ' -h This help' echo ' -h This help'
echo '' echo ''
@@ -233,7 +247,7 @@ usage() {
orig_argv=("$0" "$@") orig_argv=("$0" "$@")
opts='p:csudaizqh' opts='p:csudaiztxvqh'
while getopts "${opts}" arg; do while getopts "${opts}" arg; do
case "${arg}" in case "${arg}" in
@@ -241,10 +255,13 @@ while getopts "${opts}" arg; do
s) sync=true ;; s) sync=true ;;
z) sync_arch=false ;; z) sync_arch=false ;;
c) compare=true ;; c) compare=true ;;
u) upgrades=false ;; u) upgrades=true ;;
d) downgrades=true ;; d) downgrades=true ;;
a) artix=true ;; a) artix=true ;;
i) import=true ;; i) import=true ;;
t) trunk=true ;;
v) view=true ;;
x) unstable=true ;;
q) pretend=true ;; q) pretend=true ;;
h|?) usage 0 ;; h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;; *) echo "invalid argument '${arg}'"; usage 1 ;;
@@ -260,8 +277,8 @@ ${pretend} && display_settings && exit 1
${sync} && sync_repos ${sync} && sync_repos
${view} && view_build "${package}"
${compare} && show_version_table ${compare} && show_version_table
${artix} && show_artix_table
${import} && from_arch "${package}" ${import} && from_arch "${package}"

View File

@@ -34,8 +34,8 @@ commit_pkg(){
local pkg=${package} local pkg=${package}
git rm -r trunk git rm -r trunk
else else
local pkg=${package}-$ver local pkg="${package}-$ver"
git rm -r repos/${source_repo}-$CARCH git rm -r repos/"${source_repo}-$CARCH"
fi fi
msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}" msg "Action: [%s] '%s' %s" "${source_repo}" "$pkg" "${action}"
git commit -m "[${source_repo}] '$pkg' ${action}" git commit -m "[${source_repo}] '$pkg' ${action}"
@@ -67,20 +67,23 @@ symlink_commit_pkg(){
if [[ ${source_repo} == 'trunk' ]];then if [[ ${source_repo} == 'trunk' ]];then
local action='add' local action='add'
local dest=${target_repo}-$CARCH local dest="${target_repo}-$CARCH"
[[ -d repos/$dest ]] && git rm -r repos/$dest [[ -d repos/$dest ]] && git rm -r repos/$dest
[[ ! -d repos ]] && mkdir repos [[ ! -d repos ]] && mkdir repos
[[ ! -d repos/$dest ]] && mkdir repos/$dest
cp -r trunk repos/$dest cp trunk/* repos/$dest/
else else
local action='move' local action='move'
local dest=${target_repo}-$CARCH local src="${source_repo}-$CARCH" dest="${target_repo}-$CARCH"
cd repos [[ -d repos/$dest ]] && git rm -r repos/$dest
[[ -d $dest ]] && git rm -r $dest [[ ! -d repos ]] && mkdir repos
git mv ${source_repo}-$CARCH $dest [[ ! -d repos/$dest ]] && mkdir repos/$dest
cd ..
cp repos/$src/* repos/$dest/
git rm -r repos/$src
fi fi
msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}" msg "Action: [%s] -> [%s] '%s' %s" "${source_repo}" "${target_repo}" "${package}-$ver" "${action}"

View File

@@ -18,41 +18,36 @@ SYSCONFDIR='@sysconfdir@'
import ${LIBDIR}/util.sh import ${LIBDIR}/util.sh
import ${LIBDIR}/util-pkg.sh import ${LIBDIR}/util-pkg.sh
del_from_repo(){ update_repo(){
local ver local repo="$1" pkgfile ver ext=db.tar.xz
local repo="$1" local repo_path=${repos_root}/$repo/os/${target_arch} packages=()
local repo_path=${repos_root}/$repo/os/${target_arch}
source PKGBUILD source PKGBUILD
for name in ${pkgname[@]};do for name in ${pkgname[@]};do
[[ $arch == any ]] && CARCH=any [[ $arch == any ]] && CARCH=any
ver=$(get_full_version $name) ver=$(get_full_version "$name")
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH");then
info "pkgfile: %s" "${pkgfile##*/}" local pkg=${pkgfile##*/}
repo-remove -R $repo_path/$repo.db.tar.xz $name info "Found: %s" "$pkg"
[[ -e $repo_path/${pkgfile##*/} ]] && rm -v $repo_path/${pkgfile##*/} if ${add_pkg};then
[[ -e $repo_path/${pkgfile##*/}.sig ]] && rm -v $repo_path/${pkgfile##*/}.sig local action='add'
fi packages+=("$pkg")
done # checkpkg $pkg
} if ${sign_pkg};then
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
add_to_repo(){ signfile ${pkgfile}
local ver pkgfile= fi
local repo="$1" ln -sf ${pkgfile}{,.sig} $repo_path/
local repo_path=${repos_root}/$repo/os/${target_arch} elif ${del_pkg};then
source PKGBUILD local action='remove'
for name in ${pkgname[@]};do packages+=("$name")
[[ $arch == any ]] && CARCH=any [[ -e $repo_path/$pkg ]] && rm $repo_path/$pkg
ver=$(get_full_version $name) [[ -e $repo_path/$pkg.sig ]] && rm $repo_path/$pkg.sig
if pkgfile=$(find_cached_package "$name" "$ver" "$CARCH"); then
info "pkgfile: %s" "${pkgfile##*/}"
if ${sign_pkg};then
[[ -e ${pkgfile}.sig ]] && rm ${pkgfile}.sig
signfile ${pkgfile}
fi fi
ln -sf ${pkgfile}{,.sig} $repo_path/
repo-add -R $repo_path/$repo.db.tar.xz $pkgfile
fi fi
done done
cd $repo_path
repo-$action -R $repo.$ext ${packages[@]}
return 0
} }
display_settings(){ display_settings(){
@@ -83,9 +78,9 @@ sign_pkg=false
usage() { usage() {
echo "Usage: ${0##*/} [options]" echo "Usage: ${0##*/} [options]"
echo " -d Destination repository [default:${repository}]" echo " -d Destination repository [default:${repository}]"
echo ' -a Add package to repository' echo ' -a Add package(s) to repository'
echo ' -r Remove package from repository' echo ' -r Remove package(s) from repository'
echo ' -s Sign package' echo ' -s Sign package(s)'
echo ' -q Query settings and pretend upload' echo ' -q Query settings and pretend upload'
echo ' -h This help' echo ' -h This help'
echo '' echo ''
@@ -100,8 +95,8 @@ opts='d:arsqh'
while getopts "${opts}" arg; do while getopts "${opts}" arg; do
case "${arg}" in case "${arg}" in
d) repository="$OPTARG" ;; d) repository="$OPTARG" ;;
a) add_pkg=true ;; a) add_pkg=true; del_pkg=false ;;
r) del_pkg=true ;; r) del_pkg=true; add_pkg=false ;;
s) sign_pkg=true ;; s) sign_pkg=true ;;
q) pretend=true ;; q) pretend=true ;;
h|?) usage 0 ;; h|?) usage 0 ;;
@@ -115,8 +110,4 @@ prepare_dir "${repos_root}"
${pretend} && display_settings && exit 1 ${pretend} && display_settings && exit 1
${del_pkg} && del_from_repo "${repository}" update_repo "${repository}"
${add_pkg} && add_to_repo "${repository}"
exit 0

View File

@@ -203,7 +203,7 @@ _chrootbuild() {
ulimit -c 0 ulimit -c 0
# Work around chroot-run not giving a ctty # Work around chroot-run not giving a ctty
# exec </dev/console exec </dev/console
. /etc/profile . /etc/profile
@@ -235,9 +235,11 @@ download_sources() {
local builddir local builddir
builddir="$(mktemp -d)" builddir="$(mktemp -d)"
chmod 1777 "$builddir" chmod 1777 "$builddir"
# chown "$makepkg_user:$makepkg_user" "$builddir"
# Ensure sources are downloaded # Ensure sources are downloaded
sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \ sudo -u "$makepkg_user" --preserve-env=GNUPGHOME \
env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o || makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o ||
die "Could not download sources." die "Could not download sources."
@@ -329,7 +331,7 @@ main() {
[[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.' [[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.'
makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}} makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}}
check_root check_root SOURCE_DATE_EPOCH,GNUPGHOME
# Canonicalize chrootdir, getting rid of trailing / # Canonicalize chrootdir, getting rid of trailing /
chrootdir=$(readlink -e "$passeddir") chrootdir=$(readlink -e "$passeddir")

93
bin/mkpkgclean.in Normal file
View File

@@ -0,0 +1,93 @@
#!/bin/bash
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
version=@version@
LIBDIR='@libdir@'
SYSCONFDIR='@sysconfdir@'
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
import ${LIBDIR}/util.sh
prepare_clean(){
if [[ -n ${repository} ]];then
storage_dir=${repos_root}/${repository}/os/${target_arch}
paccache_args+=(-c "${storage_dir}" -k 1)
else
if [[ -n ${PKGDEST} ]];then
storage_dir=${PKGDEST}
paccache_args+=(-c "${storage_dir}" -k 4)
else
die "PKGDEST not set in makepkg.conf!"
fi
fi
}
display_settings(){
show_version
show_config
msg "OPTIONS:"
msg2 "repository: %s" "${repository}"
msg "PATH:"
msg2 "storage_dir: %s" "${storage_dir}"
msg "ARGS:"
msg2 "paccache_args: %s" "${paccache_args[*]}"
paccache "${paccache_args[@]}"
}
load_user_info
load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf"
load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
load_vars /etc/makepkg.conf
clean=false
pretend=false
repository=''
storage_dir=''
paccache_args=(-v)
usage() {
echo "Usage: ${0##*/} [options]"
echo " -d <dir> Directory [default:${repository}]"
echo ' -c Clean up'
echo ' -q Query settings and pretend cleaning'
echo ' -h This help'
echo ''
echo ''
exit $1
}
orig_argv=("$0" "$@")
opts='d:cqh'
while getopts "${opts}" arg; do
case "${arg}" in
d) repository="$OPTARG" ;;
c) clean=true ; paccache_args+=(-r) ;;
q) pretend=true; paccache_args+=(-d) ;;
h|?) usage 0 ;;
*) echo "invalid argument '${arg}'"; usage 1 ;;
esac
done
shift $(($OPTIND - 1))
prepare_clean
${pretend} && display_settings && exit 1
${clean} && paccache "${paccache_args[@]}"

View File

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

View File

@@ -1,84 +0,0 @@
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
net-tools
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
>openrc opentmpfiles
os-prober
pacman
pciutils
pcmciautils
perl
procps-ng
psmisc
reiserfsprogs
sed
shadow
s-nail
sudo
sysfsutils
tar
texinfo
usbutils
util-linux
which
efibootmgr
xfsprogs
zd1211-firmware
zsh

View File

@@ -1,49 +0,0 @@
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

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

View File

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

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

View File

@@ -1,6 +0,0 @@
#%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

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

View File

@@ -1,27 +0,0 @@
################ 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
# services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
# default values
# addgroups="video,power,storage,optical,network,lp,scanner,wheel,users"
# netgroups_url="https://raw.githubusercontent.com/artix-linux/netgroups/master"
################# live-session #################
# default value
# hostname="artix"
# default value
# username="artix"
# default value
# password="artix"

31
initcpio/Makefile Normal file
View File

@@ -0,0 +1,31 @@
DIRMODE = -dm0755
MODE = -m0755
RM = rm -f
CPIOHOOKS = \
$(wildcard hooks/*)
CPIOINST = \
$(wildcard install/*)
SCRIPT = \
$(wildcard script/*)
install_initcpio:
install $(DIRMODE) $(DESTDIR)$(CPIODIR)/hooks
install $(MODE) $(CPIOHOOKS) $(DESTDIR)$(CPIODIR)/hooks
install $(DIRMODE) $(DESTDIR)$(CPIODIR)/install
install $(MODE) $(CPIOINST) $(DESTDIR)$(CPIODIR)/install
install $(MODE) $(SCRIPT) $(DESTDIR)$(CPIODIR)
uninstall_initcpio:
for f in $(notdir $(CPIOHOOKS)); do $(RM) $(DESTDIR)$(CPIODIR)/hooks/$$f; done
for f in $(notdir $(CPIOINST)); do $(RM) $(DESTDIR)$(CPIODIR)/install/$$f; done
for f in $(notdir $(SCRIPT)); do $(RM) $(DESTDIR)$(CPIODIR)/$$f; done
install: install_initcpio
uninstall: uninstall_initcpio
.PHONY: install uninstall

View File

@@ -1,38 +0,0 @@
#!/bin/ash
# /oldroot depends on things inside /oldroot/run/miso...
mkdir /oldrun
mount -n --move /oldroot/run /oldrun
# Unmount all mounts now.
#umount $(mount | awk '$3 ~/^\/oldroot/ {print $3}' | sort -r)
umount $(mount | awk '$3 ~/^\/oldroot/ {if($3 != "/run/miso/bootmnt") print $3}' | sort -r)
# Remove all dm-snapshot devices.
dmsetup remove_all
# Remove all loopback devices.
for _lup in $(grep ^/dev/loop /oldrun/miso/used_block_devices | tac); do
if ! losetup -d ${_lup} 2> /dev/null; then
umount -d ${_lup}
fi
done
# Unmount the space used to store *.cow.
umount /oldrun/miso/cowspace
# Unmount boot device if needed (no copytoram=y used)
if [[ ! -d /oldrun/miso/copytoram ]]; then
if [[ -d /oldrun/miso/img_dev ]]; then
umount /oldrun/miso/img_dev
else
umount /oldrun/miso/bootmnt
fi
fi
# reboot / poweroff / halt, depending on the argument passed by init
# if something invalid is passed, we halt
case "$1" in
reboot|poweroff|halt) "$1" -f ;;
*) halt -f;;
esac

View File

@@ -44,19 +44,24 @@ load_profile(){
[[ -z ${password} ]] && password="artix" [[ -z ${password} ]] && password="artix"
if [[ -z ${addgroups} ]];then if [[ -z ${addgroups} ]];then
addgroups="video,power,storage,optical,network,lp,scanner,wheel,users,audio" addgroups="video,power,storage,optical,network,lp,scanner,wheel,users,audio,log"
fi fi
if [[ -z ${services[@]} ]];then if [[ -z ${services[@]} ]];then
services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager') services=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
fi fi
[[ ${displaymanager} != "none" ]] && services+=('xdm') if [[ ${displaymanager} != "none" ]];then
case "${initsys}" in
'openrc') services+=('xdm') ;;
'runit') services+=("${displaymanager}") ;;
esac
fi
if [[ -z ${services_live[@]} ]];then if [[ -z ${services_live[@]} ]];then
services_live=('artix-live' 'pacman-init') services_live=('artix-live' 'pacman-init')
fi fi
[[ -z ${netgroups_url} ]] && netgroups_url="https://raw.githubusercontent.com/artix-linux/netgroups/master" [[ -z ${netgroups_url} ]] && netgroups_url="https://raw.githubusercontent.com/artix-linux/netgroups/master"
return 0 return 0

View File

@@ -27,14 +27,15 @@ write_bootloader_conf(){
} }
write_servicescfg_conf(){ write_servicescfg_conf(){
local conf="$1/servicescfg.conf" local conf="$1/servicescfg.conf" init="$2"
msg2 "Writing %s ..." "${conf##*/}" msg2 "Writing %s ..." "${conf##*/}"
echo '---' > "$conf" echo '---' > "$conf"
echo "initsys: $init" >> "$conf"
echo '' >> "$conf" echo '' >> "$conf"
echo 'services:' >> "$conf" echo 'services:' >> "$conf"
echo ' enabled:' >> "$conf" echo ' enabled:' >> "$conf"
for s in ${services[@]};do for svc in ${services[@]};do
echo " - name: $s" >> "$conf" echo " - name: $svc" >> "$conf"
echo ' runlevel: default' >> "$conf" echo ' runlevel: default' >> "$conf"
done done
} }
@@ -88,16 +89,14 @@ write_unpack_conf(){
} }
configure_calamares(){ configure_calamares(){
local dest="$1" mods="$1/etc/calamares/modules" local dest="$1" mods="$1/etc/calamares/modules" init="$2"
if [[ -d $dest/etc/calamares/modules ]];then if [[ -d $dest/etc/calamares/modules ]];then
info "Configuring [Calamares]" info "Configuring [Calamares]"
write_netinstall_conf "$mods" write_netinstall_conf "$mods"
write_unpack_conf "$mods" write_unpack_conf "$mods"
write_users_conf "$mods" write_users_conf "$mods"
write_initcpio_conf "$mods" write_initcpio_conf "$mods"
case ${initsys} in write_servicescfg_conf "$mods" "$init"
'openrc') write_servicescfg_conf "$mods" ;;
esac
write_bootloader_conf "$mods" write_bootloader_conf "$mods"
info "Done configuring [Calamares]" info "Done configuring [Calamares]"
fi fi

View File

@@ -139,6 +139,14 @@ add_svc_rc(){
fi fi
} }
add_svc_runit(){
local mnt="$1" name="$2"
if [[ -d $mnt/etc/runit/sv/$name ]]; then
msg2 "Setting %s ..." "$name"
chroot $mnt ln -s /etc/runit/sv/$name /etc/runit/runsvdir/default &>/dev/null
fi
}
set_xdm(){ set_xdm(){
if [[ -f $1/etc/conf.d/xdm ]];then if [[ -f $1/etc/conf.d/xdm ]];then
local conf='DISPLAYMANAGER="'${displaymanager}'"' local conf='DISPLAYMANAGER="'${displaymanager}'"'
@@ -173,6 +181,14 @@ configure_services(){
add_svc_rc "$mnt" "$svc" "default" add_svc_rc "$mnt" "$svc" "default"
done done
;; ;;
'runit')
for svc in ${services[@]}; do
add_svc_runit "$mnt" "$svc"
done
for svc in ${services_live[@]}; do
add_svc_runit "$mnt" "$svc"
done
;;
esac esac
info "Done configuring [%s]" "${initsys}" info "Done configuring [%s]" "${initsys}"
} }
@@ -180,7 +196,7 @@ configure_services(){
configure_system(){ configure_system(){
local mnt="$1" local mnt="$1"
case ${initsys} in case ${initsys} in
'openrc') 'openrc' | 'runit')
configure_logind "$mnt" "elogind" configure_logind "$mnt" "elogind"
;; ;;
esac esac
@@ -242,7 +258,7 @@ configure_live_image(){
configure_hosts "$fs" configure_hosts "$fs"
configure_system "$fs" configure_system "$fs"
configure_services "$fs" configure_services "$fs"
configure_calamares "$fs" configure_calamares "$fs" "${initsys}"
write_live_session_conf "$fs" write_live_session_conf "$fs"
msg "Done configuring [livefs]" msg "Done configuring [livefs]"
} }
@@ -388,6 +404,7 @@ gen_iso_fn(){
local vars=() name local vars=() name
vars+=("${iso_name}") vars+=("${iso_name}")
vars+=("${profile}") vars+=("${profile}")
[[ ${initsys} == 'runit' ]] && vars+=("${initsys}")
vars+=("${iso_version}") vars+=("${iso_version}")
vars+=("${target_arch}") vars+=("${target_arch}")
for n in ${vars[@]};do for n in ${vars[@]};do

View File

@@ -68,6 +68,11 @@ patch_pkg(){
updpkgsums updpkgsums
cd ../.. cd ../..
;; ;;
gstreamer|gst-plugins-*)
sed -e 's|https://www.archlinux.org/|https://www.artixlinux.org/|' \
-e 's|(Arch Linux)|(Artix Linux)|' \
-i $pkg/trunk/PKGBUILD
;;
esac esac
} }
@@ -119,62 +124,75 @@ is_valid_repo(){
} }
find_repo(){ find_repo(){
local pkg="$1" repo= local pkg="$1" incl="$2" repo=
if [[ -d $pkg/repos/core-x86_64 ]];then if [[ -f $pkg/repos/core-x86_64/PKGBUILD ]];then
repo=core-x86_64 repo=core-x86_64
elif [[ -d $pkg/repos/core-any ]];then elif [[ -f $pkg/repos/core-any/PKGBUILD ]];then
repo=core-any repo=core-any
fi fi
if [[ -d $pkg/repos/extra-x86_64 ]];then if [[ -f $pkg/repos/extra-x86_64/PKGBUILD ]];then
repo=extra-x86_64 repo=extra-x86_64
elif [[ -d $pkg/repos/extra-any ]];then elif [[ -f $pkg/repos/extra-any/PKGBUILD ]];then
repo=extra-any repo=extra-any
fi fi
if [[ -d $pkg/repos/testing-x86_64 ]];then if [[ -f $pkg/repos/testing-x86_64/PKGBUILD ]];then
repo=testing-x86_64 repo=testing-x86_64
elif [[ -d $pkg/repos/testing-any ]];then elif [[ -f $pkg/repos/testing-any/PKGBUILD ]];then
repo=testing-any repo=testing-any
fi fi
if [[ -d $pkg/repos/staging-x86_64 ]];then if [[ -f $pkg/repos/staging-x86_64/PKGBUILD ]];then
repo=staging-x86_64 repo=staging-x86_64
elif [[ -d $pkg/repos/staging-any ]];then elif [[ -f $pkg/repos/staging-any/PKGBUILD ]];then
repo=staging-any repo=staging-any
fi fi
if [[ -d $pkg/repos/community-x86_64 ]];then if [[ -f $pkg/repos/community-x86_64/PKGBUILD ]];then
repo=community-x86_64 repo=community-x86_64
elif [[ -d $pkg/repos/community-any ]];then elif [[ -f $pkg/repos/community-any/PKGBUILD ]];then
repo=community-any repo=community-any
fi fi
if [[ -d $pkg/repos/community-testing-x86_64 ]];then if [[ -f $pkg/repos/community-testing-x86_64/PKGBUILD ]];then
repo=community-testing-x86_64 repo=community-testing-x86_64
elif [[ -d $pkg/repos/community-testing-any ]];then elif [[ -f $pkg/repos/community-testing-any/PKGBUILD ]];then
repo=community-testing-any repo=community-testing-any
fi fi
if [[ -d $pkg/repos/community-staging-x86_64 ]];then if [[ -f $pkg/repos/community-staging-x86_64/PKGBUILD ]];then
repo=community-staging-x86_64 repo=community-staging-x86_64
elif [[ -d $pkg/repos/community-staging-any ]];then elif [[ -f $pkg/repos/community-staging-any/PKGBUILD ]];then
repo=community-staging-any repo=community-staging-any
fi fi
if [[ -d $pkg/repos/multilib-x86_64 ]];then if [[ -f $pkg/repos/multilib-x86_64/PKGBUILD ]];then
repo=multilib-x86_64 repo=multilib-x86_64
fi fi
if [[ -d $pkg/repos/multilib-testing-x86_64 ]];then if [[ -f $pkg/repos/multilib-testing-x86_64/PKGBUILD ]];then
repo=multilib-testing-x86_64 repo=multilib-testing-x86_64
fi fi
if [[ -d $pkg/repos/multilib-staging-x86_64 ]];then if [[ -f $pkg/repos/multilib-staging-x86_64/PKGBUILD ]];then
repo=multilib-staging-x86_64 repo=multilib-staging-x86_64
fi fi
if $incl;then
if [[ -f $pkg/repos/gnome-unstable-x86_64/PKGBUILD ]];then
repo=gnome-unstable-x86_64
elif [[ -f $pkg/repos/gnome-unstable-any/PKGBUILD ]];then
repo=gnome-unstable-any
fi
if [[ -f $pkg/repos/kde-unstable-x86_64/PKGBUILD ]];then
repo=kde-unstable-x86_64
elif [[ -f $pkg/repos/kde-unstable-any/PKGBUILD ]];then
repo=kde-unstable-any
fi
fi
echo $repo echo $repo
} }
@@ -191,6 +209,7 @@ arch_to_artix_repo(){
multilib-staging-x86_64) repo=lib32-goblins ;; multilib-staging-x86_64) repo=lib32-goblins ;;
community-testing-*) repo=galaxy-gremlins ;; community-testing-*) repo=galaxy-gremlins ;;
community-staging-*) repo=galaxy-goblins ;; community-staging-*) repo=galaxy-goblins ;;
kde-unstable-*|gnome-unstable-*) repo=goblins ;;
esac esac
echo $repo echo $repo
} }