summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-02-14 07:13:34 +0000
committerCoprDistGit <infra@openeuler.org>2025-02-14 07:13:34 +0000
commit7b38a5575302c9819ec40eae42fdc8cbb3935dec (patch)
treec7938de88d02ebdad5fef78c4393c2f6f142de05
parent7766c8c67efdebfd5e6457ad87bbcea4b15afaf6 (diff)
automatic import of mock-core-configsopeneuler22.03_LTS_SP4
-rw-r--r--.gitignore1
-rw-r--r--mock-core-configs.spec163
-rw-r--r--openeuler-20.03-sp1.tpl80
-rw-r--r--openeuler-20.03-sp2.tpl80
-rw-r--r--openeuler-20.03-sp3.tpl80
-rw-r--r--openeuler-20.03-sp4.tpl80
-rw-r--r--openeuler-20.03.tpl80
-rw-r--r--openeuler-20.03_LTS-aarch64.cfg5
-rw-r--r--openeuler-20.03_LTS-x86_64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP1-aarch64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP1-x86_64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP2-aarch64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP2-x86_64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP3-aarch64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP3-x86_64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP4-aarch64.cfg5
-rw-r--r--openeuler-20.03_LTS_SP4-x86_64.cfg5
-rw-r--r--openeuler-20.09-aarch64.cfg5
-rw-r--r--openeuler-20.09-x86_64.cfg5
-rw-r--r--openeuler-20.09.tpl73
-rw-r--r--openeuler-21.03-aarch64.cfg5
-rw-r--r--openeuler-21.03-x86_64.cfg5
-rw-r--r--openeuler-21.03.tpl73
-rw-r--r--openeuler-21.09-aarch64.cfg5
-rw-r--r--openeuler-21.09-x86_64.cfg5
-rw-r--r--openeuler-21.09.tpl72
-rw-r--r--openeuler-22.03-sp1.tpl84
-rw-r--r--openeuler-22.03-sp2.tpl84
-rw-r--r--openeuler-22.03-sp3.tpl84
-rw-r--r--openeuler-22.03-sp4.tpl84
-rw-r--r--openeuler-22.03.tpl84
-rw-r--r--openeuler-22.03_LTS-aarch64.cfg5
-rw-r--r--openeuler-22.03_LTS-x86_64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP1-aarch64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP1-x86_64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP2-aarch64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP2-x86_64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP3-aarch64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP3-x86_64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP4-aarch64.cfg5
-rw-r--r--openeuler-22.03_LTS_SP4-x86_64.cfg5
-rw-r--r--openeuler-22.09-aarch64.cfg5
-rw-r--r--openeuler-22.09-x86_64.cfg5
-rw-r--r--openeuler-22.09.tpl80
-rw-r--r--openeuler-23.03-aarch64.cfg5
-rw-r--r--openeuler-23.03-x86_64.cfg5
-rw-r--r--openeuler-23.03.tpl81
-rw-r--r--openeuler-24.03-aarch64.cfg5
-rw-r--r--openeuler-24.03-x86_64.cfg5
-rw-r--r--openeuler-24.03.tpl80
-rw-r--r--openeuler-24.09-aarch64.cfg5
-rw-r--r--openeuler-24.09-x86_64.cfg5
-rw-r--r--openeuler-24.09.tpl80
-rw-r--r--sources1
54 files changed, 1694 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..12b7550 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/mock-core-configs-38.3.tar.gz
diff --git a/mock-core-configs.spec b/mock-core-configs.spec
new file mode 100644
index 0000000..0eaecd1
--- /dev/null
+++ b/mock-core-configs.spec
@@ -0,0 +1,163 @@
+# keep gid same with upstream
+%global mockgid 135
+
+Name: mock-core-configs
+Version: 38.3
+Release: 4
+Summary: Mock core config files basic chroots
+
+License: GPLv2+
+URL: https://github.com/rpm-software-management/mock/
+# Source is created by
+# git clone https://github.com/rpm-software-management/mock.git
+# cd mock/mock-core-configs
+# git reset --hard %%{name}-%%{version}-%%{release}
+# tito build --tgz
+Source0: https://github.com/rpm-software-management/mock/releases/download/%{name}-%{version}-1/%{name}-%{version}.tar.gz
+Source1: openeuler-20.03_LTS_SP3-aarch64.cfg
+Source2: openeuler-20.03_LTS_SP3-x86_64.cfg
+Source3: openeuler-20.03_LTS_SP2-aarch64.cfg
+Source4: openeuler-20.03_LTS_SP2-x86_64.cfg
+Source5: openeuler-20.03_LTS_SP1-aarch64.cfg
+Source6: openeuler-20.03_LTS_SP1-x86_64.cfg
+Source7: openeuler-20.03_LTS-aarch64.cfg
+Source8: openeuler-20.03_LTS-x86_64.cfg
+Source9: openeuler-21.03-aarch64.cfg
+Source10: openeuler-21.03-x86_64.cfg
+Source11: openeuler-21.09-aarch64.cfg
+Source12: openeuler-21.09-x86_64.cfg
+Source13: openeuler-20.09-aarch64.cfg
+Source14: openeuler-20.09-x86_64.cfg
+Source15: openeuler-22.09-aarch64.cfg
+Source16: openeuler-22.09-x86_64.cfg
+Source17: openeuler-22.03_LTS-aarch64.cfg
+Source18: openeuler-22.03_LTS-x86_64.cfg
+Source19: openeuler-23.03-aarch64.cfg
+Source20: openeuler-23.03-x86_64.cfg
+Source21: openeuler-22.03_LTS_SP1-aarch64.cfg
+Source22: openeuler-22.03_LTS_SP1-x86_64.cfg
+Source23: openeuler-20.03-sp3.tpl
+Source24: openeuler-20.03-sp2.tpl
+Source25: openeuler-20.03-sp1.tpl
+Source26: openeuler-20.03.tpl
+Source27: openeuler-20.09.tpl
+Source28: openeuler-21.03.tpl
+Source29: openeuler-21.09.tpl
+Source30: openeuler-22.03-sp1.tpl
+Source31: openeuler-22.03.tpl
+Source32: openeuler-22.09.tpl
+Source33: openeuler-23.03.tpl
+Source34: openeuler-22.03-sp2.tpl
+Source35: openeuler-22.03_LTS_SP2-aarch64.cfg
+Source36: openeuler-22.03_LTS_SP2-x86_64.cfg
+Source37: openeuler-24.03-aarch64.cfg
+Source38: openeuler-24.03-x86_64.cfg
+Source39: openeuler-24.03.tpl
+Source40: openeuler-20.03_LTS_SP4-x86_64.cfg
+Source41: openeuler-20.03_LTS_SP4-aarch64.cfg
+Source42: openeuler-20.03-sp4.tpl
+Source43: openeuler-22.03_LTS_SP3-aarch64.cfg
+Source44: openeuler-22.03_LTS_SP3-x86_64.cfg
+Source45: openeuler-22.03-sp3.tpl
+Source46: openeuler-22.03_LTS_SP4-aarch64.cfg
+Source47: openeuler-22.03_LTS_SP4-x86_64.cfg
+Source48: openeuler-22.03-sp4.tpl
+Source49: openeuler-24.09-x86_64.cfg
+Source50: openeuler-24.09-aarch64.cfg
+Source51: openeuler-24.09.tpl
+
+Requires: mock >= 5.6
+
+BuildArch: noarch
+Requires: openEuler-gpg-keys
+Requires: distribution-gpg-keys
+
+Requires(post): coreutils
+Requires(post): python3-dnf
+Requires(post): python3-hawkey
+Requires(post): system-release
+Requires(post): python3
+Requires(post): sed
+Requires(pre): shadow-utils
+
+%description
+Config files which allow you to create chroots for:
+ * Fedora
+ * Epel
+ * Mageia
+ * Custom chroot
+ * OpenSuse Tumbleweed and Leap
+ * openEuler
+
+%prep
+%setup -q
+cp -pav $(dirname %{SOURCE1})/openeuler-* .
+
+%build
+# nothing to do here
+
+
+%install
+mkdir -p %{buildroot}%{_sysusersdir}
+
+mkdir -p %{buildroot}%{_sysconfdir}/mock/eol
+mkdir -p %{buildroot}%{_sysconfdir}/mock/templates
+cp -a etc/mock/*.cfg %{buildroot}%{_sysconfdir}/mock
+cp -a etc/mock/templates/*.tpl %{buildroot}%{_sysconfdir}/mock/templates
+cp -a etc/mock/eol/*cfg %{buildroot}%{_sysconfdir}/mock/eol
+cp -a openeuler-*.cfg %{buildroot}%{_sysconfdir}/mock
+cp -a openeuler-*.tpl %{buildroot}%{_sysconfdir}/mock/templates
+
+# generate files section with config - there is many of them
+echo "%defattr(0644, root, mock)" > %{name}.cfgs
+find %{buildroot}%{_sysconfdir}/mock -name "*.cfg" -o -name '*.tpl' \
+ | sed -e "s|^%{buildroot}|%%config(noreplace) |" >> %{name}.cfgs
+# bash-completion
+if [ -d %{buildroot}%{_datadir}/bash-completion ]; then
+ echo %{_datadir}/bash-completion/completions/mock >> %{name}.cfgs
+ echo %{_datadir}/bash-completion/completions/mockchain >> %{name}.cfgs
+elif [ -d %{buildroot}%{_sysconfdir}/bash_completion.d ]; then
+ echo %{_sysconfdir}/bash_completion.d/mock >> %{name}.cfgs
+fi
+
+
+%pre
+# check for existence of mock group, create it if not found
+getent group mock > /dev/null || groupadd -f -g %mockgid -r mock
+exit 0
+
+%post
+# get release ver such as: 22.03
+ver=$(source /etc/os-release && echo $VERSION_ID)
+mock_arch=$(python3 -c "import dnf.rpm; import hawkey; print(dnf.rpm.basearch(hawkey.detect_arch()))")
+cfg=openeuler-$ver-${mock_arch}.cfg
+if [ -e %{_sysconfdir}/mock/$cfg ]; then
+ if [ "$(readlink %{_sysconfdir}/mock/default.cfg)" != "$cfg" ]; then
+ ln -s $cfg %{_sysconfdir}/mock/default.cfg 2>/dev/null || ln -s -f $cfg %{_sysconfdir}/mock/default.cfg.rpmnew
+ fi
+else
+ echo "Warning: file %{_sysconfdir}/mock/$cfg does not exist."
+ echo " unable to update %{_sysconfdir}/mock/default.cfg"
+fi
+:
+
+
+%files -f %{name}.cfgs
+%license COPYING
+%dir %{_sysconfdir}/mock
+%dir %{_sysconfdir}/mock/eol
+%dir %{_sysconfdir}/mock/templates
+%ghost %config(noreplace,missingok) %{_sysconfdir}/mock/default.cfg
+
+%changelog
+* Tue Nov 05 2024 jinzhiguang <jinzhiguang@kylinos.cn> - 38.3-4
+- fix wrong include in 24.03 and 24.09 configs
+
+* Tue Oct 22 2024 shafeipaozi <sunbo.oerv@isrc.iscas.ac.cn> - 38.3-3
+- add openEuler 24.03 configs
+
+* Wed Jul 12 2023 lichaoran <pkwarcraft@hotmail.com> 38.3-2
+- add openEuler 22.03-lts-sp2 configs
+
+* Fri May 19 2023 lichaoran <pkwarcraft@hotmail.com> 38.3-1
+- Init package
diff --git a/openeuler-20.03-sp1.tpl b/openeuler-20.03-sp1.tpl
new file mode 100644
index 0000000..e5e0845
--- /dev/null
+++ b/openeuler-20.03-sp1.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '20.03LTS_SP1'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 20.03 LTS SP1'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:20.03-lts-sp1'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2003
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP1/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP1/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP1/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP1/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP1/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP1/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP1/EPOL/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP1/EPOL/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP1/EPOL/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP1/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP1/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP1/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP1/EPOL/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP1/EPOL/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP1/EPOL/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+"""
diff --git a/openeuler-20.03-sp2.tpl b/openeuler-20.03-sp2.tpl
new file mode 100644
index 0000000..fbf65b1
--- /dev/null
+++ b/openeuler-20.03-sp2.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '20.03LTS_SP2'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 20.03 LTS SP2'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:20.03-lts-sp2'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2003
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP2/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP2/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP2/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP2/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP2/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP2/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP2/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP2/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP2/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP2/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP2/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP2/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP2/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP2/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP2/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-20.03-sp3.tpl b/openeuler-20.03-sp3.tpl
new file mode 100644
index 0000000..0f35464
--- /dev/null
+++ b/openeuler-20.03-sp3.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install tar yum gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '20.03LTS_SP3'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 20.03 LTS SP3'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:20.03-lts-sp3'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2003
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP3/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP3/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP3/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP3/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP3/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP3/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP3/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP3/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP3/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP3/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP3/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP3/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP3/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP3/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP3/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-20.03-sp4.tpl b/openeuler-20.03-sp4.tpl
new file mode 100644
index 0000000..1ccf0f4
--- /dev/null
+++ b/openeuler-20.03-sp4.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install tar yum gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '20.03LTS_SP4'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 20.03 LTS SP4'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:20.03-lts-sp4'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2003
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP4/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP4/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP4/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP4/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP4/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP4/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP4/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP4/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP4/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP4/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP4/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP4/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS-SP4/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS-SP4/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS-SP4/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-20.03.tpl b/openeuler-20.03.tpl
new file mode 100644
index 0000000..cbcdcad
--- /dev/null
+++ b/openeuler-20.03.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '20.03LTS'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 20.03 LTS'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:20.03-lts'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2003
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS/EPOL/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS/EPOL/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS/EPOL/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-20.03-LTS/EPOL/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-20.03-LTS/EPOL/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-20.03-LTS/EPOL/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+"""
diff --git a/openeuler-20.03_LTS-aarch64.cfg b/openeuler-20.03_LTS-aarch64.cfg
new file mode 100644
index 0000000..ce01a08
--- /dev/null
+++ b/openeuler-20.03_LTS-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03.tpl')
+
+config_opts['root'] = 'openeuler-20.03-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS-x86_64.cfg b/openeuler-20.03_LTS-x86_64.cfg
new file mode 100644
index 0000000..dfe9fca
--- /dev/null
+++ b/openeuler-20.03_LTS-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03.tpl')
+
+config_opts['root'] = 'openeuler-20.03-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS_SP1-aarch64.cfg b/openeuler-20.03_LTS_SP1-aarch64.cfg
new file mode 100644
index 0000000..52dda3f
--- /dev/null
+++ b/openeuler-20.03_LTS_SP1-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp1.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP1-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS_SP1-x86_64.cfg b/openeuler-20.03_LTS_SP1-x86_64.cfg
new file mode 100644
index 0000000..31066c7
--- /dev/null
+++ b/openeuler-20.03_LTS_SP1-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp1.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP1-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS_SP2-aarch64.cfg b/openeuler-20.03_LTS_SP2-aarch64.cfg
new file mode 100644
index 0000000..b4fa62b
--- /dev/null
+++ b/openeuler-20.03_LTS_SP2-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp2.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP2-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS_SP2-x86_64.cfg b/openeuler-20.03_LTS_SP2-x86_64.cfg
new file mode 100644
index 0000000..aaafd52
--- /dev/null
+++ b/openeuler-20.03_LTS_SP2-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp2.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP2-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS_SP3-aarch64.cfg b/openeuler-20.03_LTS_SP3-aarch64.cfg
new file mode 100644
index 0000000..4f8b7a4
--- /dev/null
+++ b/openeuler-20.03_LTS_SP3-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp3.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP3-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS_SP3-x86_64.cfg b/openeuler-20.03_LTS_SP3-x86_64.cfg
new file mode 100644
index 0000000..95276b6
--- /dev/null
+++ b/openeuler-20.03_LTS_SP3-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp3.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP3-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-20.03_LTS_SP4-aarch64.cfg b/openeuler-20.03_LTS_SP4-aarch64.cfg
new file mode 100644
index 0000000..3476721
--- /dev/null
+++ b/openeuler-20.03_LTS_SP4-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp4.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP4-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',)
diff --git a/openeuler-20.03_LTS_SP4-x86_64.cfg b/openeuler-20.03_LTS_SP4-x86_64.cfg
new file mode 100644
index 0000000..f82a2c6
--- /dev/null
+++ b/openeuler-20.03_LTS_SP4-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.03-sp4.tpl')
+
+config_opts['root'] = 'openeuler-20.03_LTS_SP4-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',)
diff --git a/openeuler-20.09-aarch64.cfg b/openeuler-20.09-aarch64.cfg
new file mode 100644
index 0000000..af30e67
--- /dev/null
+++ b/openeuler-20.09-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.09.tpl')
+
+config_opts['root'] = 'openeuler-20.09-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-20.09-x86_64.cfg b/openeuler-20.09-x86_64.cfg
new file mode 100644
index 0000000..8b4cf0a
--- /dev/null
+++ b/openeuler-20.09-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-20.09.tpl')
+
+config_opts['root'] = 'openeuler-20.09-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-20.09.tpl b/openeuler-20.09.tpl
new file mode 100644
index 0000000..5707b40
--- /dev/null
+++ b/openeuler-20.09.tpl
@@ -0,0 +1,73 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '20.09'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 20.09'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:20.09'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2009
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+baseurl=https://archives.openeuler.openatom.cn//openEuler-20.09/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[everything]
+name=everything
+baseurl=https://archives.openeuler.openatom.cn//openEuler-20.09/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL]
+name=EPOL
+baseurl=https://archives.openeuler.openatom.cn//openEuler-20.09/EPOL/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[debuginfo]
+name=debuginfo
+baseurl=https://archives.openeuler.openatom.cn//openEuler-20.09/debuginfo/$basearch/
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[source]
+name=source
+baseurl=https://archives.openeuler.openatom.cn//openEuler-20.09/source/
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+
+[update]
+name=update
+baseurl=https://archives.openeuler.openatom.cn//openEuler-20.09/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+"""
diff --git a/openeuler-21.03-aarch64.cfg b/openeuler-21.03-aarch64.cfg
new file mode 100644
index 0000000..09f4f7c
--- /dev/null
+++ b/openeuler-21.03-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-21.03.tpl')
+
+config_opts['root'] = 'openeuler-21.03-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-21.03-x86_64.cfg b/openeuler-21.03-x86_64.cfg
new file mode 100644
index 0000000..8d2a9ab
--- /dev/null
+++ b/openeuler-21.03-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-21.03.tpl')
+
+config_opts['root'] = 'openeuler-21.03-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-21.03.tpl b/openeuler-21.03.tpl
new file mode 100644
index 0000000..13ddd62
--- /dev/null
+++ b/openeuler-21.03.tpl
@@ -0,0 +1,73 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '21.03'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 21.03'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:21.03'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2103
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.03/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[everything]
+name=everything
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.03/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL]
+name=EPOL
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.03/EPOL/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[debuginfo]
+name=debuginfo
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.03/debuginfo/$basearch/
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[source]
+name=source
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.03/source/
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+
+[update]
+name=update
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.03/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+"""
diff --git a/openeuler-21.09-aarch64.cfg b/openeuler-21.09-aarch64.cfg
new file mode 100644
index 0000000..b38c16c
--- /dev/null
+++ b/openeuler-21.09-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-21.09.tpl')
+
+config_opts['root'] = 'openeuler-21.09-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-21.09-x86_64.cfg b/openeuler-21.09-x86_64.cfg
new file mode 100644
index 0000000..9dc2ba9
--- /dev/null
+++ b/openeuler-21.09-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-21.09.tpl')
+
+config_opts['root'] = 'openeuler-21.09-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-21.09.tpl b/openeuler-21.09.tpl
new file mode 100644
index 0000000..d600a97
--- /dev/null
+++ b/openeuler-21.09.tpl
@@ -0,0 +1,72 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe1' # only useful for --resultdir variable subst
+config_opts['releasever'] = '21.09'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 21.09'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:21.09'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2109
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.09/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[everything]
+name=everything
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.09/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL]
+name=EPOL
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.09/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[debuginfo]
+name=debuginfo
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.09/debuginfo/$basearch/
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[source]
+name=source
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.09/source/
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[update]
+name=update
+baseurl=https://archives.openeuler.openatom.cn/openEuler-21.09/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+"""
diff --git a/openeuler-22.03-sp1.tpl b/openeuler-22.03-sp1.tpl
new file mode 100644
index 0000000..e524c5d
--- /dev/null
+++ b/openeuler-22.03-sp1.tpl
@@ -0,0 +1,84 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep'
+config_opts['dist'] = 'oe2203' # only useful for --resultdir variable subst
+config_opts['releasever'] = '22.03LTS_SP1'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 22.03 SP1'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:22.03-lts-sp1'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=0
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2203
+user_agent={{ user_agent }}
+
+# all openEuler LTS release will continue developing and releasing SPx version
+# such as 22.03-LTS -> 22.03-LTS-SP1 -> 22.03-LTS-SP2 ...
+# all LTS-SPx is compatible with its LTS release
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP1/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP1/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP1/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP1/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP1/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP1/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP1/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP1/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP1/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP1/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP1/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP1/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP1/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP1/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP1/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-22.03-sp2.tpl b/openeuler-22.03-sp2.tpl
new file mode 100644
index 0000000..4ff139e
--- /dev/null
+++ b/openeuler-22.03-sp2.tpl
@@ -0,0 +1,84 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep'
+config_opts['dist'] = 'oe2203' # only useful for --resultdir variable subst
+config_opts['releasever'] = '22.03LTS_SP2'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 22.03 SP2'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:22.03-lts-sp2'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=0
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2203
+user_agent={{ user_agent }}
+
+# all openEuler LTS release will continue developing and releasing SPx version
+# such as 22.03-LTS -> 22.03-LTS-SP1 -> 22.03-LTS-SP2 ...
+# all LTS-SPx is compatible with its LTS release
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP2/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP2/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP2/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP2/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP2/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP2/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP2/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP2/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP2/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP2/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP2/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP2/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP2/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP2/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP2/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-22.03-sp3.tpl b/openeuler-22.03-sp3.tpl
new file mode 100644
index 0000000..c33142f
--- /dev/null
+++ b/openeuler-22.03-sp3.tpl
@@ -0,0 +1,84 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep'
+config_opts['dist'] = 'oe2203' # only useful for --resultdir variable subst
+config_opts['releasever'] = '22.03LTS_SP3'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 22.03 SP3'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:22.03-lts-sp3'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=0
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2203
+user_agent={{ user_agent }}
+
+# all openEuler LTS release will continue developing and releasing SPx version
+# such as 22.03-LTS -> 22.03-LTS-SP1 -> 22.03-LTS-SP2 ...
+# all LTS-SPx is compatible with its LTS release
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP3/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP3/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP3/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP3/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP3/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP3/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP3/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP3/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP3/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP3/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP3/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP3/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP3/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP3/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP3/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-22.03-sp4.tpl b/openeuler-22.03-sp4.tpl
new file mode 100644
index 0000000..d50f694
--- /dev/null
+++ b/openeuler-22.03-sp4.tpl
@@ -0,0 +1,84 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep'
+config_opts['dist'] = 'oe2203' # only useful for --resultdir variable subst
+config_opts['releasever'] = '22.03LTS_SP4'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 22.03 SP4'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:22.03-lts-sp4'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=0
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2203
+user_agent={{ user_agent }}
+
+# all openEuler LTS release will continue developing and releasing SPx version
+# such as 22.03-LTS -> 22.03-LTS-SP1 -> 22.03-LTS-SP2 ...
+# all LTS-SPx is compatible with its LTS release
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP4/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP4/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP4/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP4/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP4/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP4/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP4/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP4/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP4/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP4/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS-SP4/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS-SP4/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS-SP4/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-22.03.tpl b/openeuler-22.03.tpl
new file mode 100644
index 0000000..dae4838
--- /dev/null
+++ b/openeuler-22.03.tpl
@@ -0,0 +1,84 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep'
+config_opts['dist'] = 'oe2203' # only useful for --resultdir variable subst
+config_opts['releasever'] = '22.03LTS'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 22.03'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:22.03-lts'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2203
+user_agent={{ user_agent }}
+
+# all openEuler LTS release will continue developing and releasing SPx version
+# such as 22.03-LTS -> 22.03-LTS -> 22.03-LTS-SP2 ...
+# all LTS-SPx is compatible with its LTS release
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.03-LTS/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.03-LTS/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.03-LTS/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+"""
diff --git a/openeuler-22.03_LTS-aarch64.cfg b/openeuler-22.03_LTS-aarch64.cfg
new file mode 100644
index 0000000..5f2e12b
--- /dev/null
+++ b/openeuler-22.03_LTS-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03.tpl')
+
+config_opts['root'] = 'openeuler-22.03-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-22.03_LTS-x86_64.cfg b/openeuler-22.03_LTS-x86_64.cfg
new file mode 100644
index 0000000..0c22144
--- /dev/null
+++ b/openeuler-22.03_LTS-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03.tpl')
+
+config_opts['root'] = 'openeuler-22.03-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-22.03_LTS_SP1-aarch64.cfg b/openeuler-22.03_LTS_SP1-aarch64.cfg
new file mode 100644
index 0000000..8b402db
--- /dev/null
+++ b/openeuler-22.03_LTS_SP1-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp1.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP1-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-22.03_LTS_SP1-x86_64.cfg b/openeuler-22.03_LTS_SP1-x86_64.cfg
new file mode 100644
index 0000000..1d10f5d
--- /dev/null
+++ b/openeuler-22.03_LTS_SP1-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp1.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP1-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-22.03_LTS_SP2-aarch64.cfg b/openeuler-22.03_LTS_SP2-aarch64.cfg
new file mode 100644
index 0000000..3087f4e
--- /dev/null
+++ b/openeuler-22.03_LTS_SP2-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp2.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP2-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-22.03_LTS_SP2-x86_64.cfg b/openeuler-22.03_LTS_SP2-x86_64.cfg
new file mode 100644
index 0000000..931e41c
--- /dev/null
+++ b/openeuler-22.03_LTS_SP2-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp2.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP2-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-22.03_LTS_SP3-aarch64.cfg b/openeuler-22.03_LTS_SP3-aarch64.cfg
new file mode 100644
index 0000000..bce4baf
--- /dev/null
+++ b/openeuler-22.03_LTS_SP3-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp3.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP3-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',)
diff --git a/openeuler-22.03_LTS_SP3-x86_64.cfg b/openeuler-22.03_LTS_SP3-x86_64.cfg
new file mode 100644
index 0000000..13d7ed1
--- /dev/null
+++ b/openeuler-22.03_LTS_SP3-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp3.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP3-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',)
diff --git a/openeuler-22.03_LTS_SP4-aarch64.cfg b/openeuler-22.03_LTS_SP4-aarch64.cfg
new file mode 100644
index 0000000..5146222
--- /dev/null
+++ b/openeuler-22.03_LTS_SP4-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp4.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP4-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',)
diff --git a/openeuler-22.03_LTS_SP4-x86_64.cfg b/openeuler-22.03_LTS_SP4-x86_64.cfg
new file mode 100644
index 0000000..0c1c4c1
--- /dev/null
+++ b/openeuler-22.03_LTS_SP4-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.03-sp4.tpl')
+
+config_opts['root'] = 'openeuler-22.03_LTS_SP4-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',)
diff --git a/openeuler-22.09-aarch64.cfg b/openeuler-22.09-aarch64.cfg
new file mode 100644
index 0000000..4bb7ce0
--- /dev/null
+++ b/openeuler-22.09-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.09.tpl')
+
+config_opts['root'] = 'openeuler-22.09-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-22.09-x86_64.cfg b/openeuler-22.09-x86_64.cfg
new file mode 100644
index 0000000..72aaed9
--- /dev/null
+++ b/openeuler-22.09-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-22.09.tpl')
+
+config_opts['root'] = 'openeuler-22.09-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-22.09.tpl b/openeuler-22.09.tpl
new file mode 100644
index 0000000..5ef22de
--- /dev/null
+++ b/openeuler-22.09.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe2209' # only useful for --resultdir variable subst
+config_opts['releasever'] = '22.09'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 22.09'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:22.09'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2209
+user_agent={{ user_agent }}
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.09/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.09/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.09/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.09/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.09/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.09/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.09/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.09/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.09/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.09/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.09/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.09/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-22.09/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-22.09/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-22.09/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler
+"""
diff --git a/openeuler-23.03-aarch64.cfg b/openeuler-23.03-aarch64.cfg
new file mode 100644
index 0000000..7f7e269
--- /dev/null
+++ b/openeuler-23.03-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-23.03.tpl')
+
+config_opts['root'] = 'openeuler-23.03-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',) \ No newline at end of file
diff --git a/openeuler-23.03-x86_64.cfg b/openeuler-23.03-x86_64.cfg
new file mode 100644
index 0000000..5b3ca5c
--- /dev/null
+++ b/openeuler-23.03-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-23.03.tpl')
+
+config_opts['root'] = 'openeuler-23.03-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',) \ No newline at end of file
diff --git a/openeuler-23.03.tpl b/openeuler-23.03.tpl
new file mode 100644
index 0000000..f960423
--- /dev/null
+++ b/openeuler-23.03.tpl
@@ -0,0 +1,81 @@
+config_opts['chroot_setup_cmd'] = 'install yum tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip shadow-utils diffutils cpio bash gawk rpm-build info patch util-linux findutils grep procps-ng bc'
+config_opts['dist'] = 'oe2303' # only useful for --resultdir variable subst
+config_opts['releasever'] = '23.03'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 23.03'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['useradd'] = '/usr/sbin/useradd -o -m -u {{chrootuid}} -g {{chrootgid}} -d {{chroothome}} {{chrootuser}}'
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:23.03'
+config_opts['nosync'] = True
+config_opts['nosync_force'] = True
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=0
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2303
+user_agent={{ user_agent }}
+
+
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-23.03/OS/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-23.03/OS/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-23.03/OS/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-23.03/everything/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-23.03/everything/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-23.03/everything/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-23.03/EPOL/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-23.03/EPOL/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-23.03/EPOL/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-23.03/update/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-23.03/update/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-23.03/update/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL-update]
+name=EPOL update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/update/main&arch=$basearch
+baseurl=https://mirrors.163.com/openeuler/openEuler-23.03/EPOL/update/main/$basearch/
+baseurl=https://mirrors.pku.edu.cn/openeuler/openEuler-23.03/EPOL/update/main/$basearch/
+baseurl=https://mirrors.nju.edu.cn/openeuler/openEuler-23.03/EPOL/update/main/$basearch/
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-24.03-aarch64.cfg b/openeuler-24.03-aarch64.cfg
new file mode 100644
index 0000000..a5f34c8
--- /dev/null
+++ b/openeuler-24.03-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-24.03.tpl')
+
+config_opts['root'] = 'openeuler-24.03-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',)
diff --git a/openeuler-24.03-x86_64.cfg b/openeuler-24.03-x86_64.cfg
new file mode 100644
index 0000000..2d55158
--- /dev/null
+++ b/openeuler-24.03-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-24.03.tpl')
+
+config_opts['root'] = 'openeuler-24.03-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',)
diff --git a/openeuler-24.03.tpl b/openeuler-24.03.tpl
new file mode 100644
index 0000000..57fb71c
--- /dev/null
+++ b/openeuler-24.03.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip diffutils cpio bash gawk rpm-build info patch util-linux findutils grep'
+config_opts['dist'] = 'oe2403' # only useful for --resultdir variable subst
+config_opts['releasever'] = '24.03LTS'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 24.09 LTS'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:24.03-lts'
+
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2403
+user_agent={{ user_agent }}
+
+# all openEuler LTS release will continue developing and releasing SPx version
+# such as 24.03-LTS -> 24.03-LTS-SP1 -> 24.03-LTS-SP2 ...
+# all LTS-SPx is compatible with its LTS release
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[debuginfo]
+name=debuginfo
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/debuginfo&arch=$basearch
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[source]
+name=source
+metalink=https://mirrors.openeuler.org/metalink?path=openeuler/$releasever/source/repodata/repomd.xml
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update-source]
+name=update-source
+metalink=https://mirrors.openeuler.org/metalink?path=openeuler/$releasever/update/source/repodata/repomd.xml
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/openeuler-24.09-aarch64.cfg b/openeuler-24.09-aarch64.cfg
new file mode 100644
index 0000000..dc90998
--- /dev/null
+++ b/openeuler-24.09-aarch64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-24.09.tpl')
+
+config_opts['root'] = 'openeuler-24.09-aarch64'
+config_opts['target_arch'] = 'aarch64'
+config_opts['legal_host_arches'] = ('aarch64',)
diff --git a/openeuler-24.09-x86_64.cfg b/openeuler-24.09-x86_64.cfg
new file mode 100644
index 0000000..14bed63
--- /dev/null
+++ b/openeuler-24.09-x86_64.cfg
@@ -0,0 +1,5 @@
+include('templates/openeuler-24.09.tpl')
+
+config_opts['root'] = 'openeuler-24.09-x86_64'
+config_opts['target_arch'] = 'x86_64'
+config_opts['legal_host_arches'] = ('x86_64',)
diff --git a/openeuler-24.09.tpl b/openeuler-24.09.tpl
new file mode 100644
index 0000000..9af9c3c
--- /dev/null
+++ b/openeuler-24.09.tpl
@@ -0,0 +1,80 @@
+config_opts['chroot_setup_cmd'] = 'install tar gcc-c++ openEuler-rpm-config openEuler-release which xz sed make bzip2 gzip gcc coreutils unzip diffutils cpio bash gawk rpm-build info patch util-linux findutils grep'
+config_opts['dist'] = 'oe2409' # only useful for --resultdir variable subst
+config_opts['releasever'] = '24.09'
+config_opts['package_manager'] = 'dnf'
+config_opts['description'] = 'openEuler 24.09'
+config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
+config_opts['bootstrap_image'] = 'docker.io/openeuler/openeuler:24.09'
+
+config_opts['dnf.conf'] = """
+[main]
+keepcache=1
+debuglevel=2
+reposdir=/dev/null
+logfile=/var/log/yum.log
+retries=20
+obsoletes=1
+gpgcheck=0
+assumeyes=1
+syslog_ident=mock
+syslog_device=
+metadata_expire=0
+mdpolicy=group:primary
+best=1
+install_weak_deps=0
+protected_packages=
+module_platform_id=platform:oe2409
+user_agent={{ user_agent }}
+
+# all openEuler LTS release will continue developing and releasing SPx version
+# such as 24.03-LTS -> 24.03-LTS-SP1 -> 24.03-LTS-SP2 ...
+# all LTS-SPx is compatible with its LTS release
+[OS]
+name=OS
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/OS&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[everything]
+name=everything
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/everything&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[EPOL]
+name=EPOL
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/EPOL/main&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[debuginfo]
+name=debuginfo
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/debuginfo&arch=$basearch
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[source]
+name=source
+metalink=https://mirrors.openeuler.org/metalink?path=openeuler/$releasever/source/repodata/repomd.xml
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update]
+name=update
+metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
+enabled=1
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+
+[update-source]
+name=update-source
+metalink=https://mirrors.openeuler.org/metalink?path=openeuler/$releasever/update/source/repodata/repomd.xml
+enabled=0
+gpgcheck=1
+gpgkey=file:///usr/share/distribution-gpg-keys/openeuler/RPM-GPG-KEY-openEuler-EulerMaker
+"""
diff --git a/sources b/sources
new file mode 100644
index 0000000..52ce293
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+0b19daf5445eb30e4d56e1ade2e762f5 mock-core-configs-38.3.tar.gz