app-admin/systemrescuecd-x86: Support running isohybrid on images
authorMichał Górny <mgorny@gentoo.org>
Wed, 25 May 2016 15:17:54 +0000 (17:17 +0200)
committerMichał Górny <mgorny@gentoo.org>
Wed, 25 May 2016 15:22:37 +0000 (17:22 +0200)
Add isohybrid flag that uses isohybrid (from syslinux) to make
the images dual-bootable as CD and USB media. This is the new
upstream-suggested method of using SRCD on USB sticks.

Since isohybrid modifies images in place and takes less than a second,
it seems reasonable to run it while installing rather than expecting
the user to copy it to a temporary location, convert it, then copy to
the media.

12 files changed:
app-admin/systemrescuecd-x86/metadata.xml
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.4.1.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.5.0.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.5.1.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.5.2.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.5.3.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.5.4.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.6.0.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.6.1.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.7.0.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.7.1.ebuild
app-admin/systemrescuecd-x86/systemrescuecd-x86-4.7.2.ebuild

index b77235f141166336f21f892862c03eef9c79bcc5..5297bd0ea616994d8fff3c7e4e64528808ac27cf 100644 (file)
@@ -5,6 +5,13 @@
     <email>mgorny@gentoo.org</email>
     <name>Michał Górny</name>
   </maintainer>
+  <use>
+    <flag name="isohybrid">
+      Pass downloaded images through isohybrid in order to make it
+      possible to copy them directly to USB media and boot (requires
+      <pkg>sys-boot/syslinux</pkg> at build time).
+    </flag>
+  </use>
   <upstream>
     <remote-id type="sourceforge">systemrescuecd</remote-id>
   </upstream>
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {
index d7cc39e4ee147d2516c6cb303ed0c62a6d5af38d..9ac4ee7db46154c8c5a80426b774bd13137b6427 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,7 +11,9 @@ SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
 LICENSE="GPL-2"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+isohybrid"
+
+DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
 
 S=${WORKDIR}
 
@@ -20,6 +22,12 @@ RESTRICT="mirror"
 src_install() {
        insinto "/usr/share/${PN%-*}"
        doins "${DISTDIR}/${P}.iso"
+
+       if use isohybrid; then
+               set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
+               echo "${@}"
+               "${@}" || die "${*} failed"
+       fi
 }
 
 pkg_postinst() {