syscontainer-tools/syscontainer-tools.spec
yangjiaqi f20cd5bafe clean up /run/syscontainer-tools/netns/container_id directory residues
reason:/run/syscontainer-tools/netns/container id and container network namespace mount propagation, however, umount may fail during poststop, resulting in mount failure in the second prestart stage, so if you find that there are still mounts, you need to execute poststop first Work in and umount.

Signed-off-by: yangjiaqi <yangjiaqi16@huawei.com>
2023-08-18 15:52:42 +08:00

171 lines
4.8 KiB
RPMSpec

#Basic Information
Name: syscontainer-tools
Version: 0.9
Release: 57
Summary: syscontainer tools for IT, work with iSulad
License: Mulan PSL v2
URL: https://gitee.com/openeuler/syscontainer-tools
Source0: https://gitee.com/openeuler/syscontainer-tools/repository/archive/v%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-root
Patch1: 0001-fix-failed-build-with-golang-1.15.5.patch
Patch2: 0002-syscontainer-tools-build-security-option.patch
Patch3: 0003-enable-external-linkmode-for-cgo-build.patch
Patch4: 0004-add-dt-test.patch
Patch5: 0005-add-riscv64-to-syscall-build.patch
Patch6: 0006-syscontainer-tools-Add-sw64-architecture.patch
Patch7: 0007-support-ipv6.patch
Patch8: 0008-use-file-locks-to-avoid-remounting-the-sharepath-mas.patch
Patch9: 0009-clean-up-run-syscontainer-tools-netns-containerid-di.patch
#Dependency
BuildRequires: glibc-static
BuildRequires: golang > 1.6
Requires: iSulad
Requires: util-linux
%description
This is syscontainer tools, to make it work, you need a isulad and util-linux
#Build sections
%prep
%autosetup -n %{name}-v%{version} -p1
%build
make init && make
%install
HOOK_DIR=$RPM_BUILD_ROOT/var/lib/isulad/hooks
ISULAD_TOOLS_DIR=$RPM_BUILD_ROOT/usr/local/bin
ISULAD_TOOLS_WRAPPER=$RPM_BUILD_ROOT/lib/udev
mkdir -p -m 0700 ${HOOK_DIR}
mkdir -p -m 0750 ${ISULAD_TOOLS_DIR}
mkdir -p -m 0750 ${ISULAD_TOOLS_WRAPPER}
install -m 0750 build/syscontainer-hooks ${HOOK_DIR}
install -m 0750 build/syscontainer-tools ${ISULAD_TOOLS_DIR}
install -m 0750 hack/syscontainer-tools_wrapper ${ISULAD_TOOLS_WRAPPER}/syscontainer-tools_wrapper
%check
make localtest
#Install and uninstall scripts
%pre
%preun
%post
GRAPH=`isula info | grep -Eo "iSulad Root Dir:.+" | grep -Eo "\/.*"`
if [ "$GRAPH" == "" ]; then
GRAPH="/var/lib/isulad"
fi
if [[ "$GRAPH" != "/var/lib/isulad" ]]; then
mkdir -p -m 0550 $GRAPH/hooks
install -m 0550 -p /var/lib/isulad/hooks/syscontainer-hooks $GRAPH/hooks
echo
echo "=================== WARNING! ================================================"
echo " 'iSulad Root Dir' is $GRAPH, move /var/lib/isulad/hooks/syscontainer-hooks to $GRAPH/hooks"
echo "============================================================================="
echo
fi
HOOK_SPEC=/etc/syscontainer-tools
HOOK_DIR=${GRAPH}/hooks
mkdir -p -m 0750 ${HOOK_SPEC}
mkdir -p -m 0550 ${HOOK_DIR}
cat << EOF > ${HOOK_SPEC}/hookspec.json
{
"prestart": [
{
"path": "${HOOK_DIR}/syscontainer-hooks",
"args": ["syscontainer-hooks", "--state", "prestart"],
"env": []
}
],
"poststart":[
{
"path": "${HOOK_DIR}/syscontainer-hooks",
"args": ["syscontainer-hooks", "--state", "poststart"],
"env": []
}
],
"poststop":[
{
"path": "${HOOK_DIR}/syscontainer-hooks",
"args": ["syscontainer-hooks", "--state", "poststop"],
"env": []
}
]
}
EOF
chmod 0640 ${HOOK_SPEC}/hookspec.json
%postun
#Files list
%files
%defattr(0550,root,root,0550)
/usr/local/bin/syscontainer-tools
%attr(0550,root,root) /var/lib/isulad/hooks
%attr(0550,root,root) /var/lib/isulad/hooks/syscontainer-hooks
%attr(0550,root,root) /lib/udev/syscontainer-tools_wrapper
#Clean section
%clean
rm -rfv %{buildroot}
%changelog
* Thu Aug 17 2023 yangjiaqi<yangjiaqi16@huawei.com> - 0.9-57
- Type:bugfix
- CVE:NA
- SUG:restart
- DESC:clean up run/syscontainer-tools/netns/container_id directory residues in the prestart phase
* Tue Aug 15 2023 yangjiaqi<yangjiaqi16@huawei.com> - 0.9-56
- Type:bugfix
- CVE:NA
- SUG:restart
- DESC:use file locks to avoid remounting the sharepath/master dir
* Thu Aug 10 2023 yangjiaqi<yangjiaqi16@huawei.com> - 0.9-55
- Type:bugfix
- CVE:NA
- SUG:restart
- DESC:support ip6
* Wed Aug 09 2023 yangjiaqi<yangjiaqi16@huawei.com> - 0.9-54
- isolate sw patch by code to avoid rolling back patch
* Fri Jun 30 2023 wujie <wujie@nj.iscas.ac.cn> - 0.9-53
- add riscv64 to syscall_linux_64.go build
* Thu Nov 17 2022 yangjiaqi<yangjiaqi16@huawei.com> - 0.9-52
- fix source
* Thu Oct 27 2022 wuzx<wuzx1226@qq.com> - 0.9-51
- Add sw64 architecture
* Mon Oct 17 2022 vegbir <yangjiaqi16@huawei.com> - 0.9-50
- add dt-test
* Thu Sep 02 2021 zhangsong234 <zhangsong34@huawei.com> - 0.9-49
- DESC: enable external linkmode for cgo build
* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 0.9-48
- DESC: delete -Sgit from %autosetup
* Mon Feb 08 2021 zhangsong234<zhangsong34@huawei.com> - 0.9-47
- update version to 0.9-47
* Wed Dec 23 2020 wangkang101<873229877@qq.com> - 0.9-3
- fix failed build with golang 1.15.5
* Mon Sep 07 2020 wangkang101<873229877@qq.com> - 0.9-2
- modify url of source0
* Tue Apr 26 2020 Zhangsong<zhangsong34@huawei.com> - 0.9-1
- release version 0.9