Radix cross Linux 3pp sources

RcL sources – is a tree of Third Party and Radix source tarballs

343 Commits   0 Branches   0 Tags
author: kx <kx@radix.pro> 2023-04-07 08:50:38 +0300 committer: kx <kx@radix.pro> 2023-04-07 08:50:38 +0300 commit: 56d70fdfbe2c742180a1a6a1976826a66bf8b96d parent: 982b3996a04e554ad3e300f86e413edfe1715b95
Commit Summary:
Database engines
Diffstat:
15 files changed, 536 insertions, 1 deletion
diff --git a/packages/Makefile b/packages/Makefile
index 11f6ac4..012cafa 100644
--- a/packages/Makefile
+++ b/packages/Makefile
@@ -4,7 +4,8 @@
 # $ tree -fid .
 #
 
-SUBDIRS := d \
+SUBDIRS := b \
+           d \
            s \
            y
 
diff --git a/packages/b/Makefile b/packages/b/Makefile
new file mode 100644
index 0000000..e86d94b
--- /dev/null
+++ b/packages/b/Makefile
@@ -0,0 +1,28 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := mariadb      \
+           postgresql   \
+           sqlite       \
+           tdb          \
+           tokyocabinet
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/packages/b/mariadb/Makefile b/packages/b/mariadb/Makefile
new file mode 100644
index 0000000..c0f1713
--- /dev/null
+++ b/packages/b/mariadb/Makefile
@@ -0,0 +1,50 @@
+#
+# Project Home:
+# ============
+# https://mariadb.org
+#
+# Downloads:
+# =========
+# https://downloads.mariadb.org/mariadb
+# https://downloads.mariadb.org/interstitial/mariadb-${VERSION}/source
+#
+# Mirrors:
+# =======
+# https://mirror.mephi.ru/mariadb/mariadb-${VERSION}/source
+#
+
+url         = https://downloads.mariadb.org/interstitial
+
+versions    =  5.5.47   5.5.49
+versions   += 10.0.25  10.0.30
+versions   += 10.1.11  10.1.14
+versions   += 10.5.12  10.5.13
+versions   += 10.6.5   10.6.12
+versions   += 10.11.2
+
+pkgname     = mariadb
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  version=`echo $$tarball | sed 's/\([a-zA-Z-]*\)\([0-9]*[.0-9]*[.0-9]*\)\(\..*\)/\2/'` ; \
+	  wget -N $(url)/$(pkgname)-$$version/source/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/postgresql/Makefile b/packages/b/postgresql/Makefile
new file mode 100644
index 0000000..9e40a37
--- /dev/null
+++ b/packages/b/postgresql/Makefile
@@ -0,0 +1,40 @@
+#
+# Project Home:
+# ============
+# https://www.postgresql.org
+#
+# Downloads:
+# =========
+# https://ftp.postgresql.org/pub/source/v${VERSION}
+#
+
+url         = https://ftp.postgresql.org/pub/source
+
+versions    = 9.5.4 9.6.0 9.6.24 14.1 14.7 15.2
+
+pkgname     = postgresql
+suffix      = tar.bz2
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  version=`echo $$tarball | sed 's/\([a-zA-Z0-9]*\)\([-]\)\([0-9]*[\.][0-9.]*\)\([\.].*\)/\3/'` ; \
+	  wget -N $(url)/v$$version/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2014/Makefile b/packages/b/sqlite/2014/Makefile
new file mode 100644
index 0000000..9736d9e
--- /dev/null
+++ b/packages/b/sqlite/2014/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# http://www.sqlite.org
+#
+# Downloads:
+# =========
+# http://www.sqlite.org/download.html
+# http://www.sqlite.org/2014/sqlite-autoconf-3080701.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = http://www.sqlite.org/2014
+
+versions    = 3.8.7.1
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2016/Makefile b/packages/b/sqlite/2016/Makefile
new file mode 100644
index 0000000..0d5827b
--- /dev/null
+++ b/packages/b/sqlite/2016/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# http://www.sqlite.org
+#
+# Downloads:
+# =========
+# http://www.sqlite.org/download.html
+# http://www.sqlite.org/2014/sqlite-autoconf-3080701.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = http://www.sqlite.org/2016
+
+versions    = 3.10.2.0 3.12.2.0
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2017/Makefile b/packages/b/sqlite/2017/Makefile
new file mode 100644
index 0000000..bf70553
--- /dev/null
+++ b/packages/b/sqlite/2017/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# http://www.sqlite.org
+#
+# Downloads:
+# =========
+# http://www.sqlite.org/download.html
+# http://www.sqlite.org/2014/sqlite-autoconf-3080701.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = http://www.sqlite.org/2017
+
+versions    = 3.20.0.0
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2018/Makefile b/packages/b/sqlite/2018/Makefile
new file mode 100644
index 0000000..13cbfc1
--- /dev/null
+++ b/packages/b/sqlite/2018/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# http://www.sqlite.org
+#
+# Downloads:
+# =========
+# http://www.sqlite.org/download.html
+# http://www.sqlite.org/2014/sqlite-autoconf-3080701.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = http://www.sqlite.org/2018
+
+versions    = 3.26.0.0
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2020/Makefile b/packages/b/sqlite/2020/Makefile
new file mode 100644
index 0000000..862de18
--- /dev/null
+++ b/packages/b/sqlite/2020/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# http://www.sqlite.org
+#
+# Downloads:
+# =========
+# http://www.sqlite.org/download.html
+# http://www.sqlite.org/2014/sqlite-autoconf-3080701.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = http://www.sqlite.org/2020
+
+versions    = 3.31.1.0 3.34.0.0
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2021/Makefile b/packages/b/sqlite/2021/Makefile
new file mode 100644
index 0000000..aba8cb3
--- /dev/null
+++ b/packages/b/sqlite/2021/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# https://www.sqlite.org
+#
+# Downloads:
+# =========
+# https://www.sqlite.org/download.html
+# https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = https://www.sqlite.org/2021
+
+versions    = 3.36.0.0
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2022/Makefile b/packages/b/sqlite/2022/Makefile
new file mode 100644
index 0000000..d8e73a1
--- /dev/null
+++ b/packages/b/sqlite/2022/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# https://www.sqlite.org
+#
+# Downloads:
+# =========
+# https://www.sqlite.org/download.html
+# https://www.sqlite.org/2022/sqlite-autoconf-3390400.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = https://www.sqlite.org/2022
+
+versions    = 3.39.4.0
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/2023/Makefile b/packages/b/sqlite/2023/Makefile
new file mode 100644
index 0000000..4d793a9
--- /dev/null
+++ b/packages/b/sqlite/2023/Makefile
@@ -0,0 +1,54 @@
+#
+# Project Home:
+# ============
+# https://www.sqlite.org
+#
+# Downloads:
+# =========
+# https://www.sqlite.org/download.html
+# https://www.sqlite.org/2023/sqlite-autoconf-3410200.tar.gz
+#
+# tarball, version encoding:
+# =========================
+# tarball: sqlite-product-version.tar.gz
+# version: 3.X.Y -> 3XXYY00; 3.X.Y.Z -> 3XXYYZZ
+#
+
+url         = https://www.sqlite.org/2023
+
+versions    = 3.41.2.0
+pkgname     = sqlite
+product     = autoconf
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for version in $(versions) ; do \
+	  m=`echo $$version | cut -f1 -d'.'` ; \
+	  x=`echo $$version | cut -f2 -d'.'` ; \
+	  y=`echo $$version | cut -f3 -d'.'` ; \
+	  z=`echo $$version | cut -f4 -d'.'` ; \
+	  vcode=`printf "%d%0.2d%0.2d%0.2d" $$m $$x $$y $$z` ; \
+	  wget -N $(url)/$(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  tar xzf $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	  mv $(pkgname)-$(product)-$$vcode $(pkgname)-$$version ; \
+	  tar czf $(pkgname)-$$version.$(suffix) $(pkgname)-$$version ; \
+	  rm -rf $(pkgname)-$$version $(pkgname)-$(product)-$$vcode.$(suffix) ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/sqlite/Makefile b/packages/b/sqlite/Makefile
new file mode 100644
index 0000000..ba221b5
--- /dev/null
+++ b/packages/b/sqlite/Makefile
@@ -0,0 +1,31 @@
+
+#
+# Following command helps to cheate SUBDIRS list:
+# $ tree -fid .
+#
+
+SUBDIRS := 2014 \
+           2016 \
+           2017 \
+           2018 \
+           2020 \
+           2021 \
+           2022 \
+           2023
+
+
+all-recursive downloads_clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  local_target="$$target"; \
+	  (cd $$subdir && $(MAKE) $$fnord $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; test -z "$$fail"
+
+all: all-recursive
+
+downloads_clean: downloads_clean-recursive
+
+.PHONY: all-recursive downloads_clean-recursive all downloads_clean
diff --git a/packages/b/tdb/Makefile b/packages/b/tdb/Makefile
new file mode 100644
index 0000000..601e2af
--- /dev/null
+++ b/packages/b/tdb/Makefile
@@ -0,0 +1,38 @@
+#
+# Project Home:
+# ============
+# https://tdb.samba.org
+#
+# Downloads:
+# =========
+# https://www.samba.org/ftp/tdb
+#
+
+url         = https://www.samba.org/ftp/tdb
+
+versions    = 1.4.7 1.4.8
+pkgname     = tdb
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)
diff --git a/packages/b/tokyocabinet/Makefile b/packages/b/tokyocabinet/Makefile
new file mode 100644
index 0000000..3a003de
--- /dev/null
+++ b/packages/b/tokyocabinet/Makefile
@@ -0,0 +1,39 @@
+#
+# Project Home:
+# ============
+# https://dbmx.net/tokyocabinet/
+#
+# Downloads:
+# =========
+# https://dbmx.net/tokyocabinet/tokyocabinet-1.4.48.tar.gz
+# past versions: https://dbmx.net/tokyocabinet/pastpkg/
+#
+
+url         = https://dbmx.net/tokyocabinet
+
+versions    = 1.4.48
+pkgname     = tokyocabinet
+suffix      = tar.gz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+
+all: $(tarballs) $(sha1s)
+
+.PHONY: downloads_clean
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======\n"
+	@for tarball in $(tarballs) ; do \
+	  wget -N $(url)/$$tarball ; \
+	done
+
+$(sha1s): %.$(suffix).sha1sum : %.$(suffix)
+	@for tarball in $< ; do \
+	  echo -e "\n======= Calculation the '$$tarball' sha1sum =======\n" ; \
+	  sha1sum --binary $$tarball > $$tarball.sha1sum ; \
+	done
+
+downloads_clean:
+	@rm -rf $(tarballs) $(sha1s)