Proposed patch to update misc/compat5x to rc.d-style boot script
Doug Barton
dougb at FreeBSD.org
Fri Dec 16 18:47:31 PST 2005
Howdy,
In going through the list of ports that need updating to rc.d-style boot
scripts I came across compat5x, which is a port that I actually use, and has
no maintainer. So, I thought I'd put some work into this. Attached is a
proposed patch that would convert this to rc.d style, and uses the
infrastructure in both rc.d and bsd.port.mk to make the script as simple as
possible.
If no one has any objection, I'll commit this change this weekend, and work
on a similar change for compat4x. Of course, if anyone has better ideas,
that's welcome too. :)
BTW, I purposely omitted any possible BEFORE lines, as I think in this case
it would be much better for any ports that need compat5x to REQUIRE it instead.
Doug
--
This .signature sanitized for your protection
-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /usr/local/ncvs/ports/misc/compat5x/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- Makefile 25 Oct 2005 12:34:10 -0000 1.3
+++ Makefile 17 Dec 2005 02:16:34 -0000
@@ -28,7 +28,7 @@
LDCONFIG_DIRS= %%PREFIX%%/lib/compat
TARGET_DIR= ${PREFIX}/lib/compat
TARGET32_DIR= ${PREFIX}/lib32/compat
-RCSCRIPT= ${WRKDIR}/000.compat5x.sh
+USE_RC_SUBR= ${PORTNAME}.sh
.include <bsd.port.pre.mk>
@@ -40,6 +40,8 @@
RUN_DEPENDS= ${LOCALBASE}/share/compat/locale/UTF-8/LC_CTYPE:${PORTSDIR}/misc/localedata
.endif
+SUB_LIST+= LDCONFIG="${LDCONFIG}"
+
.if ${ARCH} == alpha
PLIST_SUB+= ALPHA=""
.else
@@ -48,8 +50,10 @@
.if ${ARCH} == amd64
PLIST_SUB+= AMD64=""
PLIST_SUB+= LDCONFIG_LIB32="${LDCONFIG} -32"
+SUB_LIST+= AMD64="" TARGET32_DIR="${TARGET32_DIR}"
.else
PLIST_SUB+= AMD64="@comment "
+SUB_LIST+= AMD64="@comment "
.endif
.if ${ARCH} == i386
PLIST_SUB+= I386=""
@@ -62,12 +66,7 @@
PLIST_SUB+= SPARC64="@comment "
.endif
-do-build:
- ${ECHO_CMD} '#!/bin/sh' > ${RCSCRIPT}
- ${ECHO_CMD} '${LDCONFIG} -m ${LDCONFIG_RUNLIST}' >> ${RCSCRIPT}
-.if ${ARCH} == amd64
- ${ECHO_CMD} '${LDCONFIG} -32 -m ${TARGET32_DIR}' >> ${RCSCRIPT}
-.endif
+NO_BUILD= yes
do-install:
${MKDIR} ${TARGET_DIR}
@@ -77,6 +76,5 @@
(cd ${WRKSRC}/lib32 && ${INSTALL_DATA} *.so.* ${TARGET32_DIR})
${LDCONFIG} -32 -m ${TARGET32_DIR}
.endif
- ${INSTALL_SCRIPT} ${RCSCRIPT} ${PREFIX}/etc/rc.d/
.include <bsd.port.post.mk>
Index: pkg-plist
===================================================================
RCS file: /usr/local/ncvs/ports/misc/compat5x/pkg-plist,v
retrieving revision 1.2
diff -u -r1.2 pkg-plist
--- pkg-plist 6 Oct 2005 23:18:00 -0000 1.2
+++ pkg-plist 17 Dec 2005 02:11:44 -0000
@@ -1,4 +1,3 @@
-etc/rc.d/000.compat5x.sh
lib/compat/libalias.so.4
lib/compat/libarchive.so.1
lib/compat/libasn1.so.7
Index: files/compat5x.sh.in
===================================================================
RCS file: files/compat5x.sh.in
diff -N files/compat5x.sh.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/compat5x.sh.in 17 Dec 2005 02:14:40 -0000
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: compat5x
+# REQUIRE: mountcritremote
+#
+# Add the following to /etc/rc.conf[.local] to enable this service
+#
+# compat5x_enable="YES"
+#
+
+. %%RC_SUBR%%
+
+name=compat5x
+rcvar=`set_rcvar`
+
+command=%%LDCONFIG%%
+command_args='-m %%PREFIX%%/lib/compat'
+%%AMD64%%
+%%AMD64%%start_postcmd=${name}_poststart
+%%AMD64%%compat5x_poststart () {
+%%AMD64%% %%LDCONFIG%% -32 -m %%TARGET32_DIR%%
+%%AMD64%%}
+
+load_rc_config ${name}
+run_rc_command "$1"
More information about the freebsd-ports
mailing list