svn commit: r522484 - in head: Mk Mk/Scripts Mk/Uses Tools/scripts
Steve Wills
swills at FreeBSD.org
Thu Jan 9 13:01:47 UTC 2020
Author: swills
Date: Thu Jan 9 13:01:45 2020
New Revision: 522484
URL: https://svnweb.freebsd.org/changeset/ports/522484
Log:
Add QA warning about useless REINPLACE_CMD
Reviewed by: mat, bdrewery, tobik
Approved by: mat
Differential Revision: https://reviews.freebsd.org/D22174
Added:
head/Tools/scripts/sed_checked.sh (contents, props changed)
Modified:
head/Mk/Scripts/qa.sh (contents, props changed)
head/Mk/Uses/charsetfix.mk
head/Mk/Uses/gnome.mk
head/Mk/Uses/pathfix.mk
head/Mk/bsd.port.mk (contents, props changed)
Modified: head/Mk/Scripts/qa.sh
==============================================================================
--- head/Mk/Scripts/qa.sh Thu Jan 9 12:46:35 2020 (r522483)
+++ head/Mk/Scripts/qa.sh Thu Jan 9 13:01:45 2020 (r522484)
@@ -1004,10 +1004,18 @@ pkgmessage()
return 0
}
+reinplace()
+{
+ if [ -f ${REWARNFILE} ]; then
+ warn "Possible REINPLACE_CMD issues"
+ cat ${REWARNFILE}
+ fi
+}
+
checks="shebang symlinks paths stripped desktopfileutils sharedmimeinfo"
checks="$checks suidfiles libtool libperl prefixvar baselibs terminfo"
checks="$checks proxydeps sonames perlcore no_arch gemdeps gemfiledeps flavors"
-checks="$checks license depends_blacklist pkgmessage"
+checks="$checks license depends_blacklist pkgmessage reinplace"
ret=0
cd ${STAGEDIR} || exit 1
Modified: head/Mk/Uses/charsetfix.mk
==============================================================================
--- head/Mk/Uses/charsetfix.mk Thu Jan 9 12:46:35 2020 (r522483)
+++ head/Mk/Uses/charsetfix.mk Thu Jan 9 13:01:45 2020 (r522484)
@@ -19,7 +19,7 @@ CHARSETFIX_MAKEFILEIN?= Makefile.in
_USES_patch+= 600:charsetfix-post-patch
charsetfix-post-patch:
- @${FIND} ${WRKSRC} -name "${CHARSETFIX_MAKEFILEIN}" -type f | ${XARGS} ${REINPLACE_CMD} \
+ @${FIND} ${WRKSRC} -name "${CHARSETFIX_MAKEFILEIN}" -type f | ${XARGS} ${FRAMEWORK_REINPLACE_CMD} \
-e 's|need_charset_alias=true|need_charset_alias=false|g ; \
s|test -f $$(charset_alias)|false|g ;\
s|test -f $$(DESTDIR)$$(libdir)/charset.alias|false|g'
Modified: head/Mk/Uses/gnome.mk
==============================================================================
--- head/Mk/Uses/gnome.mk Thu Jan 9 12:46:35 2020 (r522483)
+++ head/Mk/Uses/gnome.mk Thu Jan 9 13:01:45 2020 (r522484)
@@ -104,7 +104,7 @@ USE_LOCALE?= en_US.UTF-8
GNOME_MAKEFILEIN?= Makefile.in
SCROLLKEEPER_DIR= /var/db/rarian
-referencehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+referencehack_PRE_PATCH= ${FIND} ${WRKSRC} -name "Makefile.in" -type f | ${XARGS} ${FRAMEWORK_REINPLACE_CMD} -e \
"s|test \"\$$\$$installfiles\" = '\$$(srcdir)/html/\*'|:|"
GNOME_HTML_DIR?= ${PREFIX}/share/doc
@@ -313,12 +313,12 @@ pygnome2_USE_GNOME_IMPL=libgnomeui pygtk2
intltool_BUILD_DEPENDS= ${LOCALBASE}/bin/intltool-extract:textproc/intltool
-intlhack_PRE_PATCH= ${FIND} ${WRKSRC} -name "intltool-merge.in" | ${XARGS} ${REINPLACE_CMD} \
+intlhack_PRE_PATCH= ${FIND} ${WRKSRC} -name "intltool-merge.in" | ${XARGS} ${FRAMEWORK_REINPLACE_CMD} \
's|mkdir $$lang or|mkdir $$lang, 0777 or| ; \
s|^push @INC, "/.*|push @INC, "${LOCALBASE}/share/intltool";| ; \
s|/usr/bin/iconv|${ICONV_CMD}|g ; \
s|unpack *[(]'"'"'U\*'"'"'|unpack ('"'"'C*'"'"'|' ; \
- ${FIND} ${WRKSRC} -name configure | ${XARGS} ${REINPLACE_CMD} \
+ ${FIND} ${WRKSRC} -name configure | ${XARGS} ${FRAMEWORK_REINPLACE_CMD} \
's/DATADIRNAME=lib/DATADIRNAME=share/'
intlhack_USE_GNOME_IMPL=intltool
Modified: head/Mk/Uses/pathfix.mk
==============================================================================
--- head/Mk/Uses/pathfix.mk Thu Jan 9 12:46:35 2020 (r522483)
+++ head/Mk/Uses/pathfix.mk Thu Jan 9 13:01:45 2020 (r522484)
@@ -28,7 +28,7 @@ _USES_patch+= 190:pathfix
pathfix:
.if ${USES:Mcmake*}
.for file in ${PATHFIX_CMAKELISTSTXT}
- @${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ @${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${FRAMEWORK_REINPLACE_CMD} -e \
's|[{]CMAKE_INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
s|[{]CMAKE_INSTALL_DATAROOTDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
s|[{]INSTALL_LIB_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
@@ -43,7 +43,7 @@ pathfix:
.endfor
.else
.for file in ${PATHFIX_MAKEFILEIN}
- @${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
+ @${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${FRAMEWORK_REINPLACE_CMD} -e \
's|[(]libdir[)]/locale|(prefix)/share/locale|g ; \
s|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g ; \
s|[(]LIBDIR[)]/pkgconfig|(PREFIX)/libdata/pkgconfig|g ; \
Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk Thu Jan 9 12:46:35 2020 (r522483)
+++ head/Mk/bsd.port.mk Thu Jan 9 13:01:45 2020 (r522484)
@@ -1032,6 +1032,7 @@ NOTPHONY?=
FLAVORS?=
FLAVOR?=
OVERLAYS?=
+REWARNFILE?= ${WRKDIR}/reinplace_warnings.txt
# Disallow forced FLAVOR as make argument since we cannot change it to the
# proper default.
.if empty(FLAVOR) && !empty(.MAKEOVERRIDES:MFLAVOR)
@@ -1622,6 +1623,7 @@ QA_ENV+= STAGEDIR=${STAGEDIR} \
PREFIX=${PREFIX} \
LINUXBASE=${LINUXBASE} \
LOCALBASE=${LOCALBASE} \
+ REWARNFILE=${REWARNFILE} \
"STRIP=${STRIP}" \
TMPPLIST=${TMPPLIST} \
CURDIR='${.CURDIR}' \
@@ -2010,7 +2012,12 @@ MAKE_ENV+= LANG=${USE_LOCALE} LC_ALL=${USE_LOCALE}
# Macro for doing in-place file editing using regexps
REINPLACE_ARGS?= -i.bak
+.if defined(DEVELOPER)
+REINPLACE_CMD?= ${SETENV} WRKSRC=${WRKSRC} REWARNFILE=${REWARNFILE} ${PORTSDIR}/Tools/scripts/sed_checked.sh
+.else
REINPLACE_CMD?= ${SED} ${REINPLACE_ARGS}
+.endif
+FRAMEWORK_REINPLACE_CMD?= ${SED} -i.bak
# Names of cookies used to skip already completed stages
EXTRACT_COOKIE?= ${WRKDIR}/.extract_done.${PORTNAME}.${PREFIX:S/\//_/g}
Added: head/Tools/scripts/sed_checked.sh
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/Tools/scripts/sed_checked.sh Thu Jan 9 13:01:45 2020 (r522484)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+/usr/bin/sed -i.bak "$@"
+for x in "${@}" ; do
+ if [ -f "${x}" ]; then
+ if cmp -s "${x}" "${x}".bak ; then
+ if [ ! -z "${REWARNFILE}" ]; then
+ echo sed failed: backup file same as original: ${x#${WRKSRC}/} >> ${REWARNFILE}
+ fi
+ fi
+ fi
+done
More information about the svn-ports-head
mailing list