support Desktop iso
This commit is contained in:
parent
685d576ff8
commit
c16033e99a
120
0011-support-desktop-iso.patch
Normal file
120
0011-support-desktop-iso.patch
Normal file
@ -0,0 +1,120 @@
|
||||
From 6476093453615673dc20611bc7812def55294fb6 Mon Sep 17 00:00:00 2001
|
||||
From: wangchong1995924 <15229716099@163.com>
|
||||
Date: Thu, 28 Jul 2022 14:23:11 +0800
|
||||
Subject: [PATCH] support Desktop iso
|
||||
|
||||
|
||||
diff --git a/isomaker/init.sh b/isomaker/init.sh
|
||||
index ca39d48..bb958b2 100644
|
||||
--- a/isomaker/init.sh
|
||||
+++ b/isomaker/init.sh
|
||||
@@ -78,7 +78,7 @@ function parse_cmd_line()
|
||||
esac
|
||||
done
|
||||
|
||||
- for typename in standard source debug everything_debug everything everything_src netinst edge
|
||||
+ for typename in standard source debug everything_debug everything everything_src netinst edge desktop
|
||||
do
|
||||
if [ "${typename}" == "${ISO_TYPE}" ];then
|
||||
return 0
|
||||
@@ -115,6 +115,7 @@ function global_var_init()
|
||||
EVE_SRC_ISO_NAME="${PRODUCT}-${VERSION}-${RELEASE}-source-dvd.iso"
|
||||
NETINST_ISO_NAME="${PRODUCT}-${VERSION}-${RELEASE}-netinst-${ARCH}-dvd.iso"
|
||||
EDGE_ISO_NAME="${PRODUCT}-${VERSION}-${RELEASE}-edge-${ARCH}-dvd.iso"
|
||||
+ DESKTOP_ISO_NAME="${PRODUCT}-Desktop-${VERSION}-${RELEASE}-${ARCH}-dvd.iso"
|
||||
else
|
||||
RELEASE_NAME="${PRODUCT}-${VERSION}-${ARCH}"
|
||||
STANDARD_ISO_NAME="${PRODUCT}-${VERSION}-${ARCH}-dvd.iso"
|
||||
@@ -125,6 +126,7 @@ function global_var_init()
|
||||
EVE_SRC_ISO_NAME="${PRODUCT}-${VERSION}-source-dvd.iso"
|
||||
NETINST_ISO_NAME="${PRODUCT}-${VERSION}-netinst-${ARCH}-dvd.iso"
|
||||
EDGE_ISO_NAME="${PRODUCT}-${VERSION}-edge-${ARCH}-dvd.iso"
|
||||
+ DESKTOP_ISO_NAME="${PRODUCT}-Desktop-${VERSION}-${ARCH}-dvd.iso"
|
||||
fi
|
||||
|
||||
[ ! -d "${BUILD}" ] && mkdir -p "${BUILD}"
|
||||
diff --git a/isomaker/iso.sh b/isomaker/iso.sh
|
||||
index d728aaf..43b4dc0 100644
|
||||
--- a/isomaker/iso.sh
|
||||
+++ b/isomaker/iso.sh
|
||||
@@ -65,6 +65,23 @@ function gen_edge_iso()
|
||||
return 0
|
||||
}
|
||||
|
||||
+function gen_desktop_iso()
|
||||
+{
|
||||
+ set +e
|
||||
+ mkdir -p "${BUILD}"/iso/repodata/
|
||||
+ cp "config/${ARCH}/desktop_normal.xml" "${BUILD}"/iso/repodata/
|
||||
+ createrepo -g "${BUILD}"/iso/repodata/*.xml "${BUILD}"/iso
|
||||
+ if [ "$ARCH" == "x86_64" ]; then
|
||||
+ mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${DESKTOP_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso
|
||||
+ [ $? != 0 ] && return 1
|
||||
+ elif [ "$ARCH" == "aarch64" ]; then
|
||||
+ mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${DESKTOP_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso
|
||||
+ [ $? != 0 ] && return 1
|
||||
+ fi
|
||||
+ implantisomd5 "${OUTPUT_DIR}/${DESKTOP_ISO_NAME}"
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
function gen_src_iso()
|
||||
{
|
||||
set +e
|
||||
diff --git a/isomaker/oemaker.sh b/isomaker/oemaker.sh
|
||||
index 9fa8e08..3d6b419 100644
|
||||
--- a/isomaker/oemaker.sh
|
||||
+++ b/isomaker/oemaker.sh
|
||||
@@ -152,6 +152,13 @@ function mk_oe_main()
|
||||
return 1
|
||||
fi
|
||||
ls "${OUTPUT_DIR}/${EDGE_ISO_NAME}"
|
||||
+ elif [ "${ISO_TYPE}" == "desktop" ]; then
|
||||
+ gen_desktop_iso
|
||||
+ if [ $? -ne 0 ]; then
|
||||
+ echo "create desktop iso failed"
|
||||
+ return 1
|
||||
+ fi
|
||||
+ ls "${OUTPUT_DIR}/${DESKTOP_ISO_NAME}"
|
||||
fi
|
||||
mkclean
|
||||
return 0
|
||||
diff --git a/isomaker/rpm.sh b/isomaker/rpm.sh
|
||||
index 0f77b34..287a2a6 100644
|
||||
--- a/isomaker/rpm.sh
|
||||
+++ b/isomaker/rpm.sh
|
||||
@@ -29,6 +29,9 @@ function download_rpms()
|
||||
if [ "${ISO_TYPE}" == "edge" ]; then
|
||||
get_edge_rpms
|
||||
return 0
|
||||
+ elif [ "${ISO_TYPE}" == "desktop" ]; then
|
||||
+ get_desktop_rpms
|
||||
+ return 0
|
||||
fi
|
||||
cat "${CONFIG}" | grep packagereq | cut -d ">" -f 2 | cut -d "<" -f 1 > _all_rpms.lst
|
||||
parse_rpmlist_xml "${ARCH}"
|
||||
@@ -165,6 +168,21 @@ function get_edge_rpms()
|
||||
fi
|
||||
}
|
||||
|
||||
+function get_desktop_rpms()
|
||||
+{
|
||||
+ parse_rpmlist_xml "desktop_${ARCH}"
|
||||
+ cat parsed_rpmlist_desktop_${ARCH} > _desktop_rpms.lst
|
||||
+ parse_rpmlist_xml "desktop_common"
|
||||
+ cat parsed_rpmlist_desktop_common >> _desktop_rpms.lst
|
||||
+ cat "config/${ARCH}/desktop_normal.xml" | grep packagereq | cut -d ">" -f 2 | cut -d "<" -f 1 >> _desktop_rpms.lst
|
||||
+ sort -r -u _desktop_rpms.lst -o _desktop_rpms.lst
|
||||
+ yumdownloader --resolve --installroot="${BUILD}"/tmp --destdir="${BUILD}"/iso/Packages/ $(cat _desktop_rpms.lst | tr '\n' ' ')
|
||||
+ if [ $? != 0 ] || [ $(ls "${BUILD}"/iso/Packages/ | wc -l) == 0 ]; then
|
||||
+ echo "Download rpms failed!"
|
||||
+ exit 133
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
function get_everything_rpms()
|
||||
{
|
||||
yum list --installroot="${BUILD}"/tmp --available | awk '{print $1}' | grep -E "\.noarch|\.${ARCH}" | grep -v "debuginfo" | grep -v "debugsource" > ava_every_lst
|
||||
--
|
||||
2.27.0
|
||||
|
||||
0
desktop_normal_aarch64.xml
Normal file
0
desktop_normal_aarch64.xml
Normal file
0
desktop_normal_x86_64.xml
Normal file
0
desktop_normal_x86_64.xml
Normal file
14
oemaker.spec
14
oemaker.spec
@ -11,7 +11,7 @@ Summary: a duilding tool for DVD ISO making and ISO cutting
|
||||
License: Mulan PSL v2
|
||||
Group: System/Management
|
||||
Version: 2.0.3
|
||||
Release: 16
|
||||
Release: 17
|
||||
BuildRoot: %{_tmppath}/%{name}
|
||||
|
||||
Source: https://gitee.com/openeuler/oemaker/repository/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
@ -20,6 +20,8 @@ Source2: normal_x86_64.xml
|
||||
Source3: rpmlist.xml
|
||||
Source4: edge_normal_aarch64.xml
|
||||
Source5: edge_normal_x86_64.xml
|
||||
Source6: desktop_normal_aarch64.xml
|
||||
Source7: desktop_normal_x86_64.xml
|
||||
|
||||
Requires: createrepo dnf-plugins-core genisoimage isomd5sum grep bash libselinux-utils libxml2
|
||||
Requires: lorax >= 19.6.78-1
|
||||
@ -34,6 +36,7 @@ Patch0007: 0007-restore-env-after-selinux-status-changes.patch
|
||||
Patch0008: 0008-add-parse_everything_deb_exclude.patch
|
||||
Patch0009: 0009-automated-kickstart-function.patch
|
||||
Patch0010: 0010-do-not-cleanup-pkg.patch
|
||||
Patch0011: 0011-support-desktop-iso.patch
|
||||
|
||||
%description
|
||||
a building tool for DVD ISO making and ISO cutting
|
||||
@ -58,6 +61,10 @@ rm -rf %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/aarch64/edge_norm
|
||||
cp %{SOURCE4} %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/aarch64/edge_normal.xml
|
||||
rm -rf %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/x86_64/edge_normal.xml
|
||||
cp %{SOURCE5} %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/x86_64/edge_normal.xml
|
||||
rm -rf %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/aarch64/desktop_normal.xml
|
||||
cp %{SOURCE6} %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/aarch64/desktop_normal.xml
|
||||
rm -rf %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/x86_64/desktop_normal.xml
|
||||
cp %{SOURCE7} %{_builddir}/%{name}-%{version}/%{name}/isomaker/config/x86_64/desktop_normal.xml
|
||||
cd %{_builddir}/%{name}-%{version}/%{name}
|
||||
%autopatch -p1
|
||||
|
||||
@ -137,6 +144,11 @@ rm -rf %{buildroot}
|
||||
rm -rf $RPM_BUILD_DIR/%{name}
|
||||
|
||||
%changelog
|
||||
* Fri Jul 29 2022 wangchong <wangchong56@huawei.com> - 2.0.3-17
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC: support Desktop iso
|
||||
|
||||
* Fri Jul 15 2022 caodongxia <caodongxia@h-partners.com> - 2.0.3-16
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user