19dc4c5d (kx 2023-04-11 06:54:40 +0300 1) #
19dc4c5d (kx 2023-04-11 06:54:40 +0300 2) # Project Home:
19dc4c5d (kx 2023-04-11 06:54:40 +0300 3) # ============
19dc4c5d (kx 2023-04-11 06:54:40 +0300 4) # https://btrfs.readthedocs.io
19dc4c5d (kx 2023-04-11 06:54:40 +0300 5) #
19dc4c5d (kx 2023-04-11 06:54:40 +0300 6) # CGit:
19dc4c5d (kx 2023-04-11 06:54:40 +0300 7) # https://git.kernel.org/cgit/linux/kernel/git/mason/btrfs-progs.git
19dc4c5d (kx 2023-04-11 06:54:40 +0300 8) #
19dc4c5d (kx 2023-04-11 06:54:40 +0300 9) # Clone:
19dc4c5d (kx 2023-04-11 06:54:40 +0300 10) # =====
19dc4c5d (kx 2023-04-11 06:54:40 +0300 11) # git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
19dc4c5d (kx 2023-04-11 06:54:40 +0300 12) #
19dc4c5d (kx 2023-04-11 06:54:40 +0300 13)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 14) url = https://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git
19dc4c5d (kx 2023-04-11 06:54:40 +0300 15)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 16) repo_name = btrfs-progs
19dc4c5d (kx 2023-04-11 06:54:40 +0300 17)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 18) versions = 3.16 4.4 5.3 5.10.1 5.11 5.15.1 6.2.2
19dc4c5d (kx 2023-04-11 06:54:40 +0300 19)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 20) suffix = tar.xz
19dc4c5d (kx 2023-04-11 06:54:40 +0300 21)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 22) # List of tags to be extracted:
19dc4c5d (kx 2023-04-11 06:54:40 +0300 23) TAGS = $(addprefix v, $(versions))
19dc4c5d (kx 2023-04-11 06:54:40 +0300 24)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 25) git_repo = .git_clone
19dc4c5d (kx 2023-04-11 06:54:40 +0300 26) tarballs = $(addsuffix .$(suffix), $(addprefix $(repo_name)-, $(versions)))
19dc4c5d (kx 2023-04-11 06:54:40 +0300 27) sha1s = $(addsuffix .sha1sum, $(tarballs))
19dc4c5d (kx 2023-04-11 06:54:40 +0300 28)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 29) TARGETS = repository_clean
19dc4c5d (kx 2023-04-11 06:54:40 +0300 30)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 31)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 32) all: $(TARGETS)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 33)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 34) .PHONY: downloads_clean repository_clean
19dc4c5d (kx 2023-04-11 06:54:40 +0300 35)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 36) $(git_repo):
19dc4c5d (kx 2023-04-11 06:54:40 +0300 37) @echo -e "\n======= Clone $(repo_name).git repository =======\n"
19dc4c5d (kx 2023-04-11 06:54:40 +0300 38) @rm -rf $(repo_name)
2d961901 (kx 2024-10-29 15:08:57 +0300 39) @if [ "$(url)" = 'git://radix-linux.su' ]; then \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 40) git clone $(url)/$(repo_name).git $(repo_name) ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 41) else \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 42) git clone $(url) $(repo_name) ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 43) fi
19dc4c5d (kx 2023-04-11 06:54:40 +0300 44) @touch $@
19dc4c5d (kx 2023-04-11 06:54:40 +0300 45)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 46) $(tarballs): $(git_repo)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 47) @for version in $(versions) ; do \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 48) tag=v`echo $$version` ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 49) if [ ! -f $(repo_name)-$$version.$(suffix) ]; then \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 50) echo -e "\n======= Creating '$(repo_name)-$$version.$(suffix)' snapshot =======" ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 51) ( cd $(repo_name) && \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 52) git archive --format=tar --prefix=$(repo_name)-$$version/ $$tag | \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 53) xz >../$(repo_name)-$$version.$(suffix) ) ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 54) fi ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 55) done
19dc4c5d (kx 2023-04-11 06:54:40 +0300 56)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 57) $(sha1s): %.$(suffix).sha1sum : %.$(suffix)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 58) @for tarball in $< ; do \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 59) echo -e "\n======= Calculation the '$$tarball' sha1sum =======" ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 60) sha1sum --binary $$tarball > $$tarball.sha1sum ; \
19dc4c5d (kx 2023-04-11 06:54:40 +0300 61) done
19dc4c5d (kx 2023-04-11 06:54:40 +0300 62)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 63) repository_clean: $(sha1s)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 64) @echo -e "\n======= Remove cloned $(repo_name).git repository =======\n"
19dc4c5d (kx 2023-04-11 06:54:40 +0300 65) @rm -rf $(git_repo) $(repo_name)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 66)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 67) downloads_clean:
19dc4c5d (kx 2023-04-11 06:54:40 +0300 68) @rm -rf $(tarballs) $(sha1s)
19dc4c5d (kx 2023-04-11 06:54:40 +0300 69) @rm -rf $(git_repo) $(repo_name)