Bug 184295 - devel/subversion uses invalid shebang-lines
Summary: devel/subversion uses invalid shebang-lines
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Olli Hauer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-25 23:10 UTC by Matthias Andree
Modified: 2014-02-02 16:54 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Andree freebsd_committer freebsd_triage 2013-11-25 23:10:00 UTC
Running "make stage-qa" reveals a truckload full of scripts that use
invalid shebang lines that need fixing.

This is the beginning of the log:

$ make stage-qa
====> Running Q/A tests (stage-qa)
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/centos/svnbuild.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/centos/svncheck-bindings.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/centos/svncheck.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/centos/svnclean.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/centos/svnlog.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/ubuntu-x64/svnbuild.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/ubuntu-x64/svncheck-bindings.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/ubuntu-x64/svncheck.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/ubuntu-x64/svnclean.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/ubuntu-x64/svnlog.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnbuild.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svncheck.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnclean.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnlog.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared/svnbuild.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared/svncheck.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared/svnclean.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/svn-x64-macosx-gnu-shared/svnlog.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/i686-debian-sarge1/svnbuild.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/i686-debian-sarge1/svncheck.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/i686-debian-sarge1/svnclean.sh
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/buildbot/slaves/i686-debian-sarge1/svnlog.sh
Error: /usr/bin/perl is an invalid shebang you need USES=shebangfix for share/subversion/client-side/showchange.pl
Error: /usr/bin/perl is an invalid shebang you need USES=shebangfix for share/subversion/client-side/svn-graph.pl
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/client-side/bash_completion_test
Error: /bin/bash is an invalid shebang you need USES=shebangfix for share/subversion/dev/benchmarks/suite1/cronjob
Error: /usr/bin/perl is an invalid shebang you need USES=shebangfix for share/subversion/dev/stress.pl
Error: /usr/bin/perl is an invalid shebang you need USES=shebangfix for share/subversion/dev/gnuify-changelog.pl
Error: /bin/env is an invalid shebang you need USES=shebangfix for share/subversion/dev/gen_junit_report.py
Error: /usr/bin/perl is an invalid shebang you need USES=shebangfix for share/subversion/dev/svnqlite3-dump
Error: /usr/bin/python is an invalid shebang you need USES=shebangfix for share/subversion/dev/find-bad-style.py

How-To-Repeat: make stage stage-qa

Alternatively:
echo >>/etc/make.conf DEVELOPER=yes
make check-orphans
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-11-25 23:10:07 UTC
Responsible Changed
From-To: freebsd-ports-bugs->lev

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Olli Hauer freebsd_committer freebsd_triage 2014-02-02 16:14:49 UTC
Responsible Changed
From-To: lev->ohauer

I'll take it
Comment 3 dfilter service freebsd_committer freebsd_triage 2014-02-02 16:40:17 UTC
Author: ohauer
Date: Sun Feb  2 16:40:08 2014
New Revision: 342334
URL: http://svnweb.freebsd.org/changeset/ports/342334
QAT: https://qat.redports.org/buildarchive/r342334/

Log:
  - fix apache module building (r341335 regression) [1]
  - add all necessary KDE dependencies to KDE_KWALLET (r331808 regression) [2]
  - fix shebank (the old way!)  [3]
  
  PR: ports/186167 , Tang Jianfeng <tangjfn@gmail.com> [1]
  PR: ports/186361 , PeterK <fbsdq@peterk.org> [1]
  PR: ports/185494 , Raphael Kubo da Costa <rakuco@FreeBSD.org> [2]
  PR: ports/184295 , Matthias Andree <mandree@FreeBSD.org> [3]
  
  Approved by:	lev (implicit)

Deleted:
  head/devel/subversion17/files/patch-Makefile.in
Modified:
  head/devel/subversion/Makefile.common
  head/devel/subversion/files/patch-Makefile.in
  head/devel/subversion17/Makefile
  head/devel/subversion17/Makefile.common

Modified: head/devel/subversion/Makefile.common
==============================================================================
--- head/devel/subversion/Makefile.common	Sun Feb  2 16:38:22 2014	(r342333)
+++ head/devel/subversion/Makefile.common	Sun Feb  2 16:40:08 2014	(r342334)
@@ -3,7 +3,7 @@
 
 PORTNAME=	subversion
 PORTVERSION=	1.8.5
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES+=	devel
 MASTER_SITES=	${MASTER_SITE_APACHE}
 DIST_SUBDIR=	subversion18
@@ -45,7 +45,7 @@ GNOME_KEYRING_LIB_DEPENDS=	libgcr.so:${P
 
 KDE_KWALLET_CONFIGURE_OFF=	--without-kwallet
 KDE_KWALLET_CONFIGURE_ON=	--with-kwallet=${KDE4_PREFIX}
-KDE_KWALLET_USE=		KDE4=kdelibs runtime
+KDE_KWALLET_USE=		KDE4=kdelibs,runtime
 
 MAINTAINER_DEBUG_CFLAGS=	-g
 MAINTAINER_DEBUG_CONFIGURE_ON=	--enable-maintainer-mode --enable-debug
@@ -113,3 +113,9 @@ post-patch:
 .if ${PORT_OPTIONS:MFREEBSD_TEMPLATE} && defined(ORGANIZATION)
 	@${ECHO_CMD} "#define ORGANIZATION_NAME \"${ORGANIZATION}\"" > ${WRKSRC}/subversion/freebsd-organization.h
 .endif
+# shebangfix
+	${GREP} -Rl -e '#!/bin/b' -e '#!/bin/env' -e '#!/usr/bin/p' ${WRKSRC}/tools/ \
+		| ${XARGS} ${REINPLACE_CMD} -e '1s|#\!/bin/b|#\!/usr/local/bin/b|' \
+		-e '1s|#\!/bin/env|#\!/usr/bin/env|' \
+		-e '1s|#\!/usr/bin/p|#\!/usr/local/bin/p|'
+

Modified: head/devel/subversion/files/patch-Makefile.in
==============================================================================
--- head/devel/subversion/files/patch-Makefile.in	Sun Feb  2 16:38:22 2014	(r342333)
+++ head/devel/subversion/files/patch-Makefile.in	Sun Feb  2 16:40:08 2014	(r342334)
@@ -12,12 +12,3 @@ This patch is required to build SVN Apac
  
  javahl_javadir = @libdir@/svn-javahl
  javahl_javahdir = @libdir@/svn-javahl/include
-@@ -207,7 +207,7 @@
- LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
- 
- # special link rule for mod_dav_svn
--LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
-+LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) -inst-prefix-dir ${DESTDIR}
- 
- # Special LDFLAGS for some libraries
- libsvn_auth_gnome_keyring_LDFLAGS = @libsvn_auth_gnome_keyring_LDFLAGS@

Modified: head/devel/subversion17/Makefile
==============================================================================
--- head/devel/subversion17/Makefile	Sun Feb  2 16:38:22 2014	(r342333)
+++ head/devel/subversion17/Makefile	Sun Feb  2 16:40:08 2014	(r342334)
@@ -199,7 +199,7 @@ post-install:	${MKREPOS_TARGET}
 	@${MAKE} -C ${WRKSRC} install-tools ${MAKE_ARGS}
 .endif
 	@${MKDIR} ${STAGEDIR}${DATADIR}
-	@(cd ${WRKSRC}/tools.examples && ${TAR} --exclude '*.in' -cf - * | ${TAR} -C ${STAGEDIR}${DATADIR} -xof - )
+	@(cd ${WRKSRC}/tools.examples && ${TAR} --exclude '*.in' --exclude '*.bak' -cf - * | ${TAR} -C ${STAGEDIR}${DATADIR} -xof - )
 
 	@${MKDIR} ${STAGEDIR}${DOCSDIR}
 	${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}

Modified: head/devel/subversion17/Makefile.common
==============================================================================
--- head/devel/subversion17/Makefile.common	Sun Feb  2 16:38:22 2014	(r342333)
+++ head/devel/subversion17/Makefile.common	Sun Feb  2 16:40:08 2014	(r342334)
@@ -3,7 +3,7 @@
 
 PORTNAME=	subversion
 PORTVERSION=	1.7.14
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES+=	devel
 MASTER_SITES=	${MASTER_SITE_APACHE}
 DIST_SUBDIR=	subversion17
@@ -47,7 +47,7 @@ GNOME_KEYRING_LIB_DEPENDS=	libgcr.so:${P
 
 KDE_KWALLET_CONFIGURE_OFF=	--without-kwallet
 KDE_KWALLET_CONFIGURE_ON=	--with-kwallet=${KDE4_PREFIX}
-KDE_KWALLET_USE=		KDE4=kdelibs runtime
+KDE_KWALLET_USE=		KDE4=kdelibs,runtime
 
 MAINTAINER_DEBUG_CFLAGS=	-g
 MAINTAINER_DEBUG_CONFIGURE_ON=	--enable-maintainer-mode --enable-debug
@@ -123,3 +123,9 @@ post-patch:
 .if ${PORT_OPTIONS:MFREEBSD_TEMPLATE} && defined(ORGANIZATION)
 	@${ECHO_CMD} "#define ORGANIZATION_NAME \"${ORGANIZATION}\"" > ${WRKSRC}/subversion/freebsd-organization.h
 .endif
+# shebangfix
+	${GREP} -Rl -e '#!/bin/b' -e '#!/bin/env' -e '#!/usr/bin/p' ${WRKSRC}/tools/ \
+		| ${XARGS} ${REINPLACE_CMD} -e '1s|#\!/bin/b|#\!/usr/local/bin/b|' \
+		-e '1s|#\!/bin/env|#\!/usr/bin/env|' \
+		-e '1s|#\!/usr/bin/p|#\!/usr/local/bin/p|'
+
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 Olli Hauer freebsd_committer freebsd_triage 2014-02-02 16:52:51 UTC
State Changed
From-To: open->closed

Fixed the old way since shebangfix takes to much effort for 
10+ subdirs and x files with x scripting languages ...