index : devtools32 | |
Archlinux32 fork of devtools | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | Makefile | 148 |
@@ -1,8 +1,10 @@ +V=$(shell git describe) SHELL=/bin/bash -o pipefail - -V=1.2.1 BUILDTOOLVER ?= $(V) +# builds with relf-referencing wildcards are not deterministic, switch of parallel builds +.NOTPARALLEL: + PREFIX = /usr/local MANDIR = $(PREFIX)/share/man DATADIR = $(PREFIX)/share/devtools @@ -20,6 +22,44 @@ GIT_CONFIGS = $(wildcard config/git/*) SETARCH_ALIASES = $(wildcard config/setarch-aliases.d/*) MANS = $(addprefix $(BUILDDIR)/,$(patsubst %.asciidoc,%,$(wildcard doc/man/*.asciidoc))) +GENERATED_PACMAN_CONFIGS = \ + core-testing-i486.conf \ + core-testing-i686.conf \ + core-testing-pentium4.conf \ + core-staging-i486.conf \ + core-staging-i686.conf \ + core-staging-pentium4.conf \ + core-staging-with-build-support-i486.conf \ + core-staging-with-build-support-i686.conf \ + core-staging-with-build-support-pentium4.conf \ + extra-i486.conf \ + extra-i686.conf \ + extra-pentium4.conf \ + extra-testing-i486.conf \ + extra-testing-i686.conf \ + extra-testing-pentium4.conf \ + extra-staging-i486.conf \ + extra-staging-i686.conf \ + extra-staging-pentium4.conf \ + extra-staging-with-build-support-i486.conf \ + extra-staging-with-build-support-i686.conf \ + extra-staging-with-build-support-pentium4.conf \ + build-support-staging-with-build-support-i486.conf \ + build-support-staging-with-build-support-i686.conf \ + build-support-staging-with-build-support-pentium4.conf \ + kde-unstable-i486.conf \ + kde-unstable-i686.conf \ + kde-unstable-pentium4.conf \ + gnome-unstable-i486.conf \ + gnome-unstable-i686.conf \ + gnome-unstable-pentium4.conf +GENERATED_MAKEPKG_CONFIGS = \ + i486.conf \ + i686.conf \ + pentium4.conf +GENERATED_PACMAN_CONFIGS := $(addprefix $(BUILDDIR)/pacman.conf.d/,$(GENERATED_PACMAN_CONFIGS)) +GENERATED_MAKEPKG_CONFIGS := $(addprefix $(BUILDDIR)/makepkg.conf.d/,$(GENERATED_MAKEPKG_CONFIGS)) + COMMITPKG_LINKS = \ core-testingpkg \ core-stagingpkg \ @@ -33,20 +73,51 @@ COMMITPKG_LINKS = \ gnome-unstablepkg ARCHBUILD_LINKS = \ + core-testing-i486-build \ + core-testing-i686-build \ + core-testing-pentium4-build \ core-testing-x86_64-build \ core-testing-x86_64_v3-build \ + core-staging-i486-build \ + core-staging-i686-build \ + core-staging-pentium4-build \ core-staging-x86_64-build \ core-staging-x86_64_v3-build \ + core-staging-x86_64-build \ + core-staging-with-build-support-i486-build \ + core-staging-with-build-support-i686-build \ + core-staging-with-build-support-pentium4-build \ + extra-i486-build \ + extra-i686-build \ + extra-pentium4-build \ extra-x86_64-build \ extra-x86_64_v3-build \ + extra-testing-i486-build \ + extra-testing-i686-build \ + extra-testing-pentium4-build \ extra-testing-x86_64-build \ extra-testing-x86_64_v3-build \ + extra-staging-i486-build \ + extra-staging-i686-build \ + extra-staging-pentium4-build \ extra-staging-x86_64-build \ extra-staging-x86_64_v3-build \ + extra-staging-with-build-support-i486-build \ + extra-staging-with-build-support-i686-build \ + extra-staging-with-build-support-pentium4-build \ + build-support-staging-with-build-support-i486-build \ + build-support-staging-with-build-support-i686-build \ + build-support-staging-with-build-support-pentium4-build \ multilib-build \ multilib-testing-build \ multilib-staging-build \ + kde-unstable-i486-build \ + kde-unstable-i686-build \ + kde-unstable-pentium4-build \ kde-unstable-x86_64-build \ + gnome-unstable-i486-build \ + gnome-unstable-i686-build \ + gnome-unstable-pentium4-build \ gnome-unstable-x86_64-build COMPLETIONS = $(addprefix $(BUILDDIR)/,$(patsubst %.in,%,$(wildcard contrib/completion/*/*))) @@ -59,10 +130,11 @@ BATS_ARGS ?= --jobs $(JOBS) $(BATS_EXTRA_ARGS) --verbose-run COVERAGE_DIR ?= $(BUILDDIR)/coverage -all: binprogs library conf completion man +all: binprogs library conf completion man configfiles binprogs: $(BINPROGS) library: $(LIBRARY) completion: $(COMPLETIONS) +configfiles: $(GENERATED_MAKEPKG_CONFIGS) $(GENERATED_PACMAN_CONFIGS) man: $(MANS) @@ -85,6 +157,56 @@ edit = sed \ -e "s|@buildtoolver[@]|$(BUILDTOOLVER)|g" GEN_MSG = @echo "GEN $(patsubst $(BUILDDIR)/%,%,$@)" +$(BUILDDIR)/makepkg.conf.d/i486.conf: config/makepkg/x86_64.conf + @echo "GEN $(notdir $@)" + @mkdir -p $(dir $@) + @sed " \ + s,\(["'"'"=]\)x86[-_]64\([-"'"'" ]\),\1i486\2,g; \ + s,-fcf-protection,,g; \ + s,LTOFLAGS=".*",LTOFLAGS=\"-fno-lto\",g; \ + /OPTIONS=/s/ lto/ !lto/; \ + " "$<" > "$@" + @sed -i 's/--ultra -20/--ultra -19/' "$@" + +$(BUILDDIR)/makepkg.conf.d/i686.conf: config/makepkg/x86_64.conf + @echo "GEN $(notdir $@)" + @mkdir -p $(dir $@) + @sed " \ + s,\(["'"'"=]\)x86[-_]64\([-"'"'" ]\),\1i686\2,g; \ + s,-fcf-protection,,g; \ + " "$<" > "$@" + @sed -i 's/--ultra -20/--ultra -19/' "$@" + +$(BUILDDIR)/makepkg.conf.d/pentium4.conf: $(BUILDDIR)/makepkg.conf.d/i686.conf + @echo "GEN $(notdir $@)" + @mkdir -p $(dir $@) + @sed '/^CHOST=/ ! s,\(["=]\)i686\([-" ]\),\1pentium4\2,g' "$<" > "$@" + @sed -i 's/--ultra -20/--ultra -19/' "$@" + +$(BUILDDIR)/pacman.conf.d/%-i486.conf: config/pacman/%.conf + @echo "GEN $(notdir $@)" + @mkdir -p $(dir $@) + @sed " \ + s,/mirrorlist\$$,\032,; \ + /^Architecture = / s/^.*\$$/Architecture = i486/; \ + " "$<" > "$@" + +$(BUILDDIR)/pacman.conf.d/%-i686.conf: config/pacman/%.conf + @echo "GEN $(notdir $@)" + @mkdir -p $(dir $@) + @sed " \ + s,/mirrorlist\$$,\032,; \ + /^Architecture = / s/^.*$$/Architecture = i686/ \ + " "$<" > "$@" + +$(BUILDDIR)/pacman.conf.d/%-pentium4.conf: config/pacman/%.conf + @echo "GEN $(notdir $@)" + @mkdir -p $(dir $@) + @sed " \ + s,/mirrorlist\$$,\032,; \ + /^Architecture = / s/^.*$$/Architecture = pentium4/ \ + " "$<" > "$@" + define buildInScript $(1)/%: $(2)%$(3) $$(GEN_MSG) @@ -125,7 +247,9 @@ install: all cp -ra $(BUILDDIR)/lib/* $(DESTDIR)$(DATADIR)/lib cp -a $(BUILDDIR)/git.conf.d -t $(DESTDIR)$(DATADIR) for conf in $(notdir $(MAKEPKG_CONFIGS)); do install -Dm0644 $(BUILDDIR)/makepkg.conf.d/$$conf $(DESTDIR)$(DATADIR)/makepkg.conf.d/$${conf##*/}; done + for conf in $(notdir $(GENERATED_MAKEPKG_CONFIGS)); do install -Dm0644 $(BUILDDIR)/makepkg.conf.d/$$conf $(DESTDIR)$(DATADIR)/makepkg.conf.d/$${conf##*/}; done for conf in $(notdir $(PACMAN_CONFIGS)); do install -Dm0644 $(BUILDDIR)/pacman.conf.d/$$conf $(DESTDIR)$(DATADIR)/pacman.conf.d/$${conf##*/}; done + for conf in $(notdir $(GENERATED_PACMAN_CONFIGS)); do install -Dm0644 $(BUILDDIR)/pacman.conf.d/$$conf $(DESTDIR)$(DATADIR)/pacman.conf.d/$${conf##*/}; done for a in ${SETARCH_ALIASES}; do install -m0644 $$a -t $(DESTDIR)$(DATADIR)/setarch-aliases.d; done for l in ${COMMITPKG_LINKS}; do ln -sf commitpkg $(DESTDIR)$(PREFIX)/bin/$$l; done for l in ${ARCHBUILD_LINKS}; do ln -sf archbuild $(DESTDIR)$(PREFIX)/bin/$$l; done @@ -143,7 +267,9 @@ uninstall: rm -rf $(DESTDIR)$(DATADIR)/lib rm -rf $(DESTDIR)$(DATADIR)/git.conf.d for conf in $(notdir $(MAKEPKG_CONFIGS)); do rm -f $(DESTDIR)$(DATADIR)/makepkg.conf.d/$${conf##*/}; done + for conf in $(notdir $(GENERATED_MAKEPKG_CONFIGS)); do rm -f $(DESTDIR)$(DATADIR)/makepkg.conf.d/$${conf##*/}; done for conf in $(notdir $(PACMAN_CONFIGS)); do rm -f $(DESTDIR)$(DATADIR)/pacman.conf.d/$${conf##*/}; done + for conf in $(notdir $(GENERATED_PACMAN_CONFIGS)); do rm -f $(DESTDIR)$(DATADIR)/pacman.conf.d/$${conf##*/}; done for f in $(notdir $(SETARCH_ALIASES)); do rm -f $(DESTDIR)$(DATADIR)/setarch-aliases.d/$$f; done for l in ${COMMITPKG_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done for l in ${ARCHBUILD_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done @@ -159,21 +285,15 @@ uninstall: $(DESTDIR)$(DATADIR) tag: - git cliff --strip=all --unreleased - @echo "current version: v$(V)" @read -r -p "tag version: v" VERSION && \ - sed -E "s|^V=.+|V=$$VERSION|" -i Makefile && \ - git commit --gpg-sign --message "chore(release): version v$$VERSION" Makefile && \ git tag --sign --message "Version v$$VERSION" v$$VERSION -release: dist - git push --tags origin master - git cliff --version >/dev/null - GITLAB_HOST=gitlab.archlinux.org glab release create v$(V) devtools-$(V).tar.gz* --milestone v$(V) --notes-file <(git cliff --strip=all --latest) - dist: - git archive --format=tar --prefix=devtools-$(V)/ v$(V) | gzip > devtools-$(V).tar.gz - gpg --detach-sign --use-agent devtools-$(V).tar.gz + git archive --format=tar --prefix=devtools32-$(V)/ $(V) | gzip > devtools32-$(V).tar.gz + gpg --detach-sign --use-agent devtools32-$(V).tar.gz + +upload: + scp devtools32-$(V).tar.gz devtools32-$(V).tar.gz.sig sources.archlinux32.org:httpdocs/sources/ test: binprogs library conf completion man @mkdir -p $(COVERAGE_DIR) |