summaryrefslogtreecommitdiff
path: root/mk/extract
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2007-07-31 17:42:40 +0000
committerjlam <jlam@pkgsrc.org>2007-07-31 17:42:40 +0000
commit3629e30a612736bca86f80f1b6afc4b44952ecc5 (patch)
tree6ca9e44cd5e09709e149046ddcf9fac8af1253d2 /mk/extract
parent8427aa0d23853b8f8b3da5cf51f9861b53ad73f7 (diff)
downloadpkgsrc-3629e30a612736bca86f80f1b6afc4b44952ecc5.tar.gz
Teach the extract module to extract RPMs with rpm2pkg.
Diffstat (limited to 'mk/extract')
-rw-r--r--mk/extract/bsd.extract-vars.mk5
-rwxr-xr-xmk/extract/extract10
-rw-r--r--mk/extract/extract.mk4
3 files changed, 16 insertions, 3 deletions
diff --git a/mk/extract/bsd.extract-vars.mk b/mk/extract/bsd.extract-vars.mk
index cc7076b83ae..92def75fbea 100644
--- a/mk/extract/bsd.extract-vars.mk
+++ b/mk/extract/bsd.extract-vars.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.extract-vars.mk,v 1.6 2006/10/15 01:56:06 minskim Exp $
+# $NetBSD: bsd.extract-vars.mk,v 1.7 2007/07/31 17:42:40 jlam Exp $
#
# This Makefile fragment is included separately by bsd.pkg.mk and
# defines some variables which must be defined earlier than where
@@ -65,6 +65,9 @@ USE_TOOLS+= unzoo
.if !empty(EXTRACT_ONLY:M*.rar)
USE_TOOLS+= unrar
.endif
+.if !empty(EXTRACT_ONLY:M*.rpm)
+USE_TOOLS+= rpm2pkg
+.endif
.if !empty(EXTRACT_ONLY:M*.gem)
USE_TOOLS+= gem
.endif
diff --git a/mk/extract/extract b/mk/extract/extract
index 7d3a94ea063..62d8b1ee76d 100755
--- a/mk/extract/extract
+++ b/mk/extract/extract
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $NetBSD: extract,v 1.6 2006/10/18 19:18:12 ben Exp $
+# $NetBSD: extract,v 1.7 2007/07/31 17:42:40 jlam Exp $
#
# Copyright (c) 2006 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -88,6 +88,7 @@
# EXTRACT_OPTS_LHA
# EXTRACT_OPTS_PAX
# EXTRACT_OPTS_RAR
+# EXTRACT_OPTS_RPM
# EXTRACT_OPTS_TAR
# EXTRACT_OPTS_ZIP
# EXTRACT_OPTS_ZOO
@@ -110,6 +111,7 @@ set -u # treat undefined variables as errors
: ${MKDIR:=mkdir}
: ${PAX:=pax}
: ${RM:=rm}
+: ${RPM2PKG:=rpm2pkg}
: ${SH:=sh}
: ${TAR:=tar}
: ${TEST:=test}
@@ -208,6 +210,7 @@ case "$distfile" in
_format=compressed ;;
*.zoo) _format=zoo ;;
*.rar) _format=rar ;;
+*.rpm) _format=rpm ;;
*.bin) _format=jre-bin ;;
*.gem) _format=gem ;;
*) _format=none ;;
@@ -319,6 +322,11 @@ rar)
${UNRAR} x ${EXTRACT_OPTS_RAR} "$distfile" ${1+"$@"}
;;
+rpm)
+ : ${EXTRACT_OPTS_RPM=}
+ ${RPM2PKG} -d . ${EXTRACT_OPTS_RPM} "$distfile" ${1+"$@"}
+ ;;
+
jre-bin)
: ${EXTRACT_OPTS_BIN=}
${ECHO} yes | "$distfile" ${EXTRACT_OPTS_BIN} >/dev/null
diff --git a/mk/extract/extract.mk b/mk/extract/extract.mk
index d8436f1aa7f..ddc68ce8ad1 100644
--- a/mk/extract/extract.mk
+++ b/mk/extract/extract.mk
@@ -1,4 +1,4 @@
-# $NetBSD: extract.mk,v 1.19 2007/01/09 05:13:27 rillig Exp $
+# $NetBSD: extract.mk,v 1.20 2007/07/31 17:42:40 jlam Exp $
#
# The following variables may be set by the package Makefile and
# specify how extraction happens:
@@ -154,6 +154,7 @@ _EXTRACT_ENV+= ${EXTRACT_OPTS_BIN:D EXTRACT_OPTS_BIN=${EXTRACT_OPTS_BIN:Q}}
_EXTRACT_ENV+= ${EXTRACT_OPTS_LHA:D EXTRACT_OPTS_LHA=${EXTRACT_OPTS_LHA:Q}}
_EXTRACT_ENV+= ${EXTRACT_OPTS_PAX:D EXTRACT_OPTS_PAX=${EXTRACT_OPTS_PAX:Q}}
_EXTRACT_ENV+= ${EXTRACT_OPTS_RAR:D EXTRACT_OPTS_RAR=${EXTRACT_OPTS_RAR:Q}}
+_EXTRACT_ENV+= ${EXTRACT_OPTS_RPM:D EXTRACT_OPTS_LHA=${EXTRACT_OPTS_RPM:Q}}
_EXTRACT_ENV+= ${EXTRACT_OPTS_TAR:D EXTRACT_OPTS_TAR=${EXTRACT_OPTS_TAR:Q}}
_EXTRACT_ENV+= ${EXTRACT_OPTS_ZIP:D EXTRACT_OPTS_ZIP=${EXTRACT_OPTS_ZIP:Q}}
_EXTRACT_ENV+= ${EXTRACT_OPTS_ZOO:D EXTRACT_OPTS_ZOO=${EXTRACT_OPTS_ZOO:Q}}
@@ -165,6 +166,7 @@ _EXTRACT_ENV+= ${TOOLS_CMDLINE.gzcat:D GZCAT=${TOOLS_CMDLINE.gzcat:Q}}
_EXTRACT_ENV+= ${TOOLS_LHA:D LHA=${TOOLS_LHA:Q}}
_EXTRACT_ENV+= ${TOOLS_MKDIR:D MKDIR=${TOOLS_MKDIR:Q}}
_EXTRACT_ENV+= ${TOOLS_RM:D RM=${TOOLS_RM:Q}}
+_EXTRACT_ENV+= ${TOOLS_RPM2PKG:D RPM2PKG=${TOOLS_RPM2PKG:Q}}
_EXTRACT_ENV+= ${TOOLS_PAX:D PAX=${TOOLS_PAX:Q}}
_EXTRACT_ENV+= ${TOOLS_SH:D SH=${TOOLS_SH:Q}}
_EXTRACT_ENV+= ${TOOLS_TAR:D TAR=${TOOLS_TAR:Q}}