From c144069d774be7bd2634b85fa6ef71cd92423f11 Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Thu, 11 Jan 2018 18:55:20 +0800 Subject: [PATCH 1/6] Add script to convert xCAT-genesis-base rpm package to deb package --- .../debuild-xcat-genesis-base | 39 +++++++++++++++++++ .../xCAT-genesis-builder.spec | 1 + 2 files changed, 40 insertions(+) create mode 100755 xCAT-genesis-builder/debuild-xcat-genesis-base diff --git a/xCAT-genesis-builder/debuild-xcat-genesis-base b/xCAT-genesis-builder/debuild-xcat-genesis-base new file mode 100755 index 000000000..1b952adc3 --- /dev/null +++ b/xCAT-genesis-builder/debuild-xcat-genesis-base @@ -0,0 +1,39 @@ +#!/bin/bash + +# xCAT-genesis-base-x86_64-2.13.10-snap201801090246.noarch.rpm +RPM_PACKAGE="$1" + +[ -n "${RPM_PACKAGE}" ] || exit 1 +[ -f "${RPM_PACKAGE}" ] || exit 1 + +EXTRACT_DIR="${RPM_PACKAGE##*/}" +EXTRACT_DIR="${EXTRACT_DIR%%-snap*}" + +rm -rf "${EXTRACT_DIR}" +rm -rf "${EXTRACT_DIR}.orig" +alien -d -g -c -k "${RPM_PACKAGE}" || exit 1 + +PACKAGE_ARCH="${EXTRACT_DIR%-*}" +PACKAGE_ARCH="${PACKAGE_ARCH##*-}" + +if [[ ${EXTRACT_DIR} =~ -x86_64- ]] +then + rm -rf "${EXTRACT_DIR//x86_64/amd64}" + mv "${EXTRACT_DIR}" "${EXTRACT_DIR//x86_64/amd64}" + EXTRACT_DIR="${EXTRACT_DIR//x86_64/amd64}" + + sed -i -e 's/x86-64/amd64/g' "${EXTRACT_DIR}/debian/control" + sed -i -e 's/x86-64/amd64/g' "${EXTRACT_DIR}/debian/changelog" +fi + +cat >"${EXTRACT_DIR}/debian/preinst" <<-EOF +#!/bin/bash + +rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/bin +rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/sbin +rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib +rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib64 +rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/var/run +EOF + +( cd "${EXTRACT_DIR}" && debian/rules binary ) diff --git a/xCAT-genesis-builder/xCAT-genesis-builder.spec b/xCAT-genesis-builder/xCAT-genesis-builder.spec index e1704f8fc..8321f99e6 100644 --- a/xCAT-genesis-builder/xCAT-genesis-builder.spec +++ b/xCAT-genesis-builder/xCAT-genesis-builder.spec @@ -34,6 +34,7 @@ mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder cd $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder tar jxvf %{SOURCE1} chmod +x $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder/buildrpm +chmod +x $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder/debuild-xcat-genesis-base cd - From 03d6c72622d2df7e8ca54f634a66813f4e7623fd Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Fri, 12 Jan 2018 16:17:54 +0800 Subject: [PATCH 2/6] Minor tweaks for the debian packaging script of xcat-genesis-base --- .../debuild-xcat-genesis-base | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/xCAT-genesis-builder/debuild-xcat-genesis-base b/xCAT-genesis-builder/debuild-xcat-genesis-base index 1b952adc3..d897039ee 100755 --- a/xCAT-genesis-builder/debuild-xcat-genesis-base +++ b/xCAT-genesis-builder/debuild-xcat-genesis-base @@ -1,7 +1,15 @@ #!/bin/bash +# +# This is a dirty script for convert an xCAT-genesis-base rpm package to +# a debian package. +# # xCAT-genesis-base-x86_64-2.13.10-snap201801090246.noarch.rpm RPM_PACKAGE="$1" +[ -n "${RPM_PACKAGE}" ] || + echo "Usage: ${0##*/} /path/to/xCAT-genesis-base.rpm" && exit 0 + +set -x [ -n "${RPM_PACKAGE}" ] || exit 1 [ -f "${RPM_PACKAGE}" ] || exit 1 @@ -29,11 +37,16 @@ fi cat >"${EXTRACT_DIR}/debian/preinst" <<-EOF #!/bin/bash -rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/bin -rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/sbin -rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib -rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib64 -rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/var/run +[ -d /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/bin ] && + rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/bin +[ -d /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/sbin ] && + rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/sbin +[ -d /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib ] && + rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib +[ -d /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib64 ] && + rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/lib64 +[ -d /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/var/run ] && + rm -rf /opt/xcat/share/xcat/netboot/genesis/${PACKAGE_ARCH}/fs/var/run EOF ( cd "${EXTRACT_DIR}" && debian/rules binary ) From 858270e66657c95ef58b776b7e900f6ffd9c72e8 Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Wed, 17 Jan 2018 13:03:42 +0800 Subject: [PATCH 3/6] Fix the error handling of command line argument checking --- xCAT-genesis-builder/debuild-xcat-genesis-base | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xCAT-genesis-builder/debuild-xcat-genesis-base b/xCAT-genesis-builder/debuild-xcat-genesis-base index d897039ee..2dc9e9066 100755 --- a/xCAT-genesis-builder/debuild-xcat-genesis-base +++ b/xCAT-genesis-builder/debuild-xcat-genesis-base @@ -6,8 +6,11 @@ # xCAT-genesis-base-x86_64-2.13.10-snap201801090246.noarch.rpm RPM_PACKAGE="$1" -[ -n "${RPM_PACKAGE}" ] || - echo "Usage: ${0##*/} /path/to/xCAT-genesis-base.rpm" && exit 0 +if [ -z "${RPM_PACKAGE}" ] +then + echo "Usage: ${0##*/} /path/to/xCAT-genesis-base.rpm" + exit 0 +fi set -x From 66c190d6123c556a49db178adc1210e26241d2b5 Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Wed, 17 Jan 2018 13:52:32 +0800 Subject: [PATCH 4/6] Add dependency for xcat-genesis-base on Debian/Ubuntu --- xCAT-genesis-builder/debuild-xcat-genesis-base | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xCAT-genesis-builder/debuild-xcat-genesis-base b/xCAT-genesis-builder/debuild-xcat-genesis-base index 2dc9e9066..d6e029345 100755 --- a/xCAT-genesis-builder/debuild-xcat-genesis-base +++ b/xCAT-genesis-builder/debuild-xcat-genesis-base @@ -37,6 +37,8 @@ then sed -i -e 's/x86-64/amd64/g' "${EXTRACT_DIR}/debian/changelog" fi +sed -i -e "/^Description:/i Breaks: xcat-genesis-scripts-${PACKAGE_ARCH//x86_64/amd64} (<< 2.13.10)" "${EXTRACT_DIR}/debian/control" + cat >"${EXTRACT_DIR}/debian/preinst" <<-EOF #!/bin/bash From 0ce225b33932b2b3652a182ffec2efaa6ff42d69 Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Wed, 17 Jan 2018 13:54:12 +0800 Subject: [PATCH 5/6] Update dependency for xCAT-genesis-base on Red Hat --- xCAT-genesis-builder/xCAT-genesis-base.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xCAT-genesis-builder/xCAT-genesis-base.spec b/xCAT-genesis-builder/xCAT-genesis-base.spec index 1b9cb3e46..76bd5644b 100644 --- a/xCAT-genesis-builder/xCAT-genesis-base.spec +++ b/xCAT-genesis-builder/xCAT-genesis-base.spec @@ -29,7 +29,7 @@ Vendor: IBM Corp. Summary: xCAT Genesis netboot image URL: https://xcat.org/ Source1: xCAT-genesis-base-%{tarch}.tar.bz2 -Conflicts: xCAT-genesis-scripts-%{tarch} < 1:2.13.9 +Conflicts: xCAT-genesis-scripts-%{tarch} < 1:2.13.10 Buildroot: %{_localstatedir}/tmp/xCAT-genesis BuildRequires: /usr/sbin/ntp-wait From 3461396e9ca27da8783371f157a8d304b3334dbe Mon Sep 17 00:00:00 2001 From: GONG Jie Date: Wed, 17 Jan 2018 14:02:54 +0800 Subject: [PATCH 6/6] Fix permission in xCAT-genesis-builder.spec --- xCAT-genesis-builder/xCAT-genesis-builder.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xCAT-genesis-builder/xCAT-genesis-builder.spec b/xCAT-genesis-builder/xCAT-genesis-builder.spec index 8321f99e6..3a9b428a1 100644 --- a/xCAT-genesis-builder/xCAT-genesis-builder.spec +++ b/xCAT-genesis-builder/xCAT-genesis-builder.spec @@ -33,8 +33,8 @@ rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder cd $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder tar jxvf %{SOURCE1} -chmod +x $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder/buildrpm -chmod +x $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder/debuild-xcat-genesis-base +chmod 0755 $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder/buildrpm +chmod 0755 $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder/debuild-xcat-genesis-base cd -