aboutsummaryrefslogtreecommitdiff
path: root/Mk/bsd.linux-rpm.mk
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2006-01-21 17:37:14 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2006-01-21 17:37:14 +0000
commit01c588a6357d8452a3e0af157e9c1250c067db2f (patch)
treefb26bf418ea8791ab4d308a7931c623124611c3c /Mk/bsd.linux-rpm.mk
parentf484c99df79f169bf954fc4b0ed83e59279a596a (diff)
downloadports-01c588a6357d8452a3e0af157e9c1250c067db2f.tar.gz
ports-01c588a6357d8452a3e0af157e9c1250c067db2f.zip
Notes
Diffstat (limited to 'Mk/bsd.linux-rpm.mk')
-rw-r--r--Mk/bsd.linux-rpm.mk90
1 files changed, 90 insertions, 0 deletions
diff --git a/Mk/bsd.linux-rpm.mk b/Mk/bsd.linux-rpm.mk
new file mode 100644
index 000000000000..7989922b3f1e
--- /dev/null
+++ b/Mk/bsd.linux-rpm.mk
@@ -0,0 +1,90 @@
+#-*- mode: Makefile; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD: /tmp/pcvs/ports/Mk/bsd.linux-rpm.mk,v 1.1 2006-01-21 17:37:01 krion Exp $
+#
+
+.if !defined(_POSTMKINCLUDED) && !defined(Linux_RPM_Pre_Include)
+
+Linux_RPM_Include_MAINTAINER= jylefort@FreeBSD.org
+Linux_RPM_Pre_Include= bsd.linux-rpm.mk
+
+RPM2CPIO?= ${LOCALBASE}/bin/rpm2cpio
+
+EXTRACT_SUFX?= .${LINUX_RPM_ARCH}.rpm
+
+USE_LINUX?= yes
+USE_LINUX_PREFIX= yes
+
+NO_WRKSUBDIR= yes
+NO_BUILD= yes
+
+. if ${ARCH} == "amd64"
+LINUX_RPM_ARCH?= i386 # the linuxulator does not yet support amd64 code
+. elif ${ARCH} == "powerpc"
+LINUX_RPM_ARCH?= ppc
+. else
+LINUX_RPM_ARCH?= ${ARCH}
+. endif
+
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(Linux_RPM_Post_Include)
+
+Linux_RPM_Post_Include= bsd.linux-rpm.mk
+
+MASTER_SITES?= ${MASTER_SITE_FEDORA_LINUX}
+MASTER_SITE_SUBDIR?= 3/${LINUX_RPM_ARCH}/os/Fedora/RPMS/
+PKGNAMEPREFIX?= linux-
+
+EXTRACT_DEPENDS+= ${RPM2CPIO}:${PORTSDIR}/archivers/rpm
+
+EXTRACT_CMD?= ${RPM2CPIO}
+EXTRACT_BEFORE_ARGS?=
+EXTRACT_AFTER_ARGS?= | ${CPIO} -id --quiet
+
+MD5_FILE?= ${MASTERDIR}/distinfo.${LINUX_RPM_ARCH}
+
+. if defined(AUTOMATIC_PLIST)
+
+. if ${USE_LINUX} == "8" || ${USE_LINUX:L} == "yes"
+_LINUX_BASE_SUFFIX= 8
+. elif ${USE_LINUX} == "debian"
+_LINUX_BASE_SUFFIX= debian
+. else
+# other linux_base ports do not provide a pkg-plist file
+IGNORE= uses AUTOMATIC_PLIST with an unsupported USE_LINUX, \"${USE_LINUX}\". Supported values are \"yes\", \"8\" and \"debian\"
+. endif
+
+PLIST?= ${WRKDIR}/.PLIST.linux-rpm
+
+pre-install: linux-rpm-generate-plist
+
+linux-rpm-generate-plist:
+ @cd ${WRKSRC} && \
+ ${FIND} * ! -type d | ${SORT} > ${PLIST} && \
+ ${FIND} * -type d | ${SORT} | ${SED} -e 's|^|@dirrm |' > ${PLIST}.dirs
+ @${GREP} '^@dirrm ' ${PORTSDIR}/emulators/linux_base-${_LINUX_BASE_SUFFIX}/pkg-plist | ${SORT} > ${PLIST}.shared-dirs
+ @${COMM} -1 -3 ${PLIST}.shared-dirs ${PLIST}.dirs | ${SORT} -r >> ${PLIST}
+
+. endif
+
+. if !target(do-install)
+do-install:
+ cd ${WRKSRC} && ${FIND} * -type d -exec ${MKDIR} "${PREFIX}/{}" \;
+ cd ${WRKSRC} && ${FIND} * ! -type d | ${CPIO} -pm -R root:wheel ${PREFIX}
+. endif
+
+. if !target(new-plist)
+new-plist:
+ @${RM} -rf ${WRKDIR}/.new-plist
+ @${MKDIR} ${WRKDIR}/.new-plist
+ @cd ${WRKDIR}/.new-plist && \
+ for f in ${DISTFILES}; do \
+ ${RPM2CPIO} ${_DISTDIR}/$$f | ${CPIO} -id --quiet; \
+ ${FIND} * ! type d | ${SORT} > ${PLIST}.new; \
+ ${FIND} -d * -type d | ${SED} -e 's|^|@dirrm |' >> ${PLIST}.new; \
+ done
+. endif
+
+.endif