Bug 183121 - cad/kicad-devel: builds in illegal area (/root)
Summary: cad/kicad-devel: builds in illegal area (/root)
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: Michael Reifenberger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-20 11:50 UTC by John Marino
Modified: 2013-10-28 15:52 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Marino 2013-10-20 11:50:00 UTC
DragonFly's version of poudriere uses a Read-Only world which detects when ports use area that are off limits during building and installing.  cad/kicad-devel is one such port.  To reproduce on FreeBSD, try changing permissions on /root to readonly before building the port.

This is considered an error by the port by portmgr.

=====================================================
--- .downloads-by-cmake/boost_1_54_0/src/boost-stamp/boost-bzr_add_boost ---
/usr/local/bin/cmake -E cmake_progress_report /wrkdirs/cad/kicad-devel/work/kicad-r4313/CMakeFiles 
[ 42%] adding pristine boost files to 'boost scratch repo'
bzr add -q /wrkdirs/cad/kicad-devel/work/kicad-r4313/.downloads-by-cmake/boost_1_54_0/src/boost/boost
failed to open trace file: [Errno 30] Read-only file system: '/root/.bzr.log'
bzr: ERROR: [Errno 30] Read-only file system: '/root/.bazaar'
*** [.downloads-by-cmake/boost_1_54_0/src/boost-stamp/boost-bzr_add_boost] Error code 3

make: stopped in /wrkdirs/cad/kicad-devel/work/kicad-r4313
1 error

make: stopped in /wrkdirs/cad/kicad-devel/work/kicad-r4313
*** [CMakeFiles/boost.dir/all] Error code 2
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-10-20 11:50:22 UTC
Responsible Changed
From-To: freebsd-ports-bugs->mr

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-10-24 12:36:44 UTC
Author: mr
Date: Thu Oct 24 11:34:55 2013
New Revision: 331476
URL: http://svnweb.freebsd.org/changeset/ports/331476

Log:
  Avoid to download the boost library during the build.
  Its bundled in the distfile instead.
  Tell bzr to use ${WRKSRC} as the HOME directory.
  
  PR:             ports/183121

Added:
  head/cad/kicad-devel/files/patch-CMakeModules-download_boost.cmake   (contents, props changed)
Deleted:
  head/cad/kicad-devel/files/patch-download_boost.cmake
Modified:
  head/cad/kicad-devel/Makefile
  head/cad/kicad-devel/Makefile.bzr_rev
  head/cad/kicad-devel/distinfo

Modified: head/cad/kicad-devel/Makefile
==============================================================================
--- head/cad/kicad-devel/Makefile	Thu Oct 24 11:34:23 2013	(r331475)
+++ head/cad/kicad-devel/Makefile	Thu Oct 24 11:34:55 2013	(r331476)
@@ -64,6 +64,8 @@ RUN_DEPENDS+=	xpdf:${PORTSDIR}/graphics/
 .endif
 
 .if defined(BOOTSTRAP)
+BOOST_RELEASE=	     1.54.0
+BOOST_VERS=         ${BOOST_RELEASE:S|.|_|g}
 BZR_SRC_REV!=        bzr revno lp:kicad
 BZR_LIB_REV!=        bzr revno lp:~kicad-lib-committers/kicad/library
 BZR_DOC_REV!=        bzr revno lp:~kicad-developers/kicad/doc
@@ -85,6 +87,13 @@ BZR_DOC_REV!=        bzr revno lp:~kicad
 FETCH_DEPENDS+= svn:${PORTSDIR}/devel/subversion
 FETCH_DEPENDS+= bzr:${PORTSDIR}/devel/bzr
 
+showversions:
+	@${ECHO} "BOOST_RELEASE: ${BOOST_RELEASE}"
+	@${ECHO} "BOOST_VERS: ${BOOST_VERS}"
+	@${ECHO} "BZR_SRC_REV: ${BZR_SRC_REV}"
+	@${ECHO} "BZR_LIB_REV: ${BZR_LIB_REV}"
+	@${ECHO} "BZR_DOC_REV: ${BZR_DOC_REV}"
+
 do-fetch:
 	${MKDIR} ${WRKDIR}
 	${ECHO} ${WRKSRC}
@@ -93,9 +102,13 @@ do-fetch:
 	bzr export -r ${BZR_DOC_REV} ${WRKDIR}/kicad-doc lp:~kicad-developers/kicad/doc
 	svn export \
 		http://svn.openmoko.org/trunk/gta02-core/kicad-patches ${WRKDIR}/kicad-patches
+	fetch -o ${WRKDIR}/${DISTNAME}/boost_${BOOST_VERS}.tar.bz2 \
+		http://downloads.sourceforge.net/project/boost/boost/${BOOST_RELEASE}/boost_${BOOST_VERS}.tar.bz2
 	cd ${WRKDIR}; tar cvfy ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}.tar.bz2 \
 		${DISTNAME} kicad-library kicad-doc kicad-patches
-	echo "BZR_SRC_REV=  ${BZR_SRC_REV}" > ${MASTERDIR}/Makefile.bzr_rev
+	echo "BOOST_RELEASE=  ${BOOST_RELEASE}" > ${MASTERDIR}/Makefile.bzr_rev
+	echo "BOOST_VERS=  ${BOOST_VERS}"   >> ${MASTERDIR}/Makefile.bzr_rev
+	echo "BZR_SRC_REV=  ${BZR_SRC_REV}" >> ${MASTERDIR}/Makefile.bzr_rev
 	echo "BZR_LIB_REV=  ${BZR_LIB_REV}" >> ${MASTERDIR}/Makefile.bzr_rev
 	echo "BZR_DOC_REV=  ${BZR_DOC_REV}" >> ${MASTERDIR}/Makefile.bzr_rev
 .endif

Modified: head/cad/kicad-devel/Makefile.bzr_rev
==============================================================================
--- head/cad/kicad-devel/Makefile.bzr_rev	Thu Oct 24 11:34:23 2013	(r331475)
+++ head/cad/kicad-devel/Makefile.bzr_rev	Thu Oct 24 11:34:55 2013	(r331476)
@@ -1,3 +1,5 @@
+BOOST_RELEASE=  1.54.0
+BOOST_VERS=  1_54_0
 BZR_SRC_REV=  4313
 BZR_LIB_REV=  267
 BZR_DOC_REV=  487

Modified: head/cad/kicad-devel/distinfo
==============================================================================
--- head/cad/kicad-devel/distinfo	Thu Oct 24 11:34:23 2013	(r331475)
+++ head/cad/kicad-devel/distinfo	Thu Oct 24 11:34:55 2013	(r331476)
@@ -1,2 +1,2 @@
-SHA256 (kicad/kicad-r4313.tar.bz2) = 5e813ecdbfe9f4742bc6285d57f56f078e895e1b1a3871edee81fb309464e69d
-SIZE (kicad/kicad-r4313.tar.bz2) = 179794564
+SHA256 (kicad/kicad-r4313.tar.bz2) = 854b9175804bb7d891bde3c94ee75b9094c21c617a55467caf5f451a1eaf8e4b
+SIZE (kicad/kicad-r4313.tar.bz2) = 238026194

Added: head/cad/kicad-devel/files/patch-CMakeModules-download_boost.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/kicad-devel/files/patch-CMakeModules-download_boost.cmake	Thu Oct 24 11:34:55 2013	(r331476)
@@ -0,0 +1,48 @@
+--- CMakeModules/download_boost.cmake.orig	2013-09-13 07:40:43.000000000 +0000
++++ CMakeModules/download_boost.cmake	2013-10-22 21:38:43.909426514 +0000
+@@ -103,9 +103,9 @@
+         PREFIX          "${PREFIX}"
+         DOWNLOAD_DIR    "${DOWNLOAD_DIR}"
+-        URL             http://downloads.sourceforge.net/project/boost/boost/${BOOST_RELEASE}/boost_${BOOST_VERS}.tar.bz2
++        URL             file://${PROJECT_SOURCE_DIR}/boost_${BOOST_VERS}.tar.bz2
+         URL_MD5         ${BOOST_MD5}
+ 
+         # The patch command executes with the working directory set to <SOURCE_DIR>
+-        PATCH_COMMAND   bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/boost.patch"
++        PATCH_COMMAND   env BZR_HOME="${PROJECT_SOURCE_DIR}" bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/boost.patch"
+ 
+         # [Mis-]use this step to erase all the boost headers and libraries before
+@@ -140,9 +140,9 @@
+         PREFIX          "${PREFIX}"
+         DOWNLOAD_DIR    "${DOWNLOAD_DIR}"
+-        URL             http://downloads.sourceforge.net/project/boost/boost/${BOOST_RELEASE}/boost_${BOOST_VERS}.tar.bz2
++        URL             file://${PROJECT_SOURCE_DIR}/boost_${BOOST_VERS}.tar.bz2
+         URL_MD5         ${BOOST_MD5}
+ 
+         # The patch command executes with the working directory set to <SOURCE_DIR>
+-        PATCH_COMMAND   bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/boost.patch"
++        PATCH_COMMAND   env BZR_HOME=${PROJECT_SOURCE_DIR} bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/boost.patch"
+ 
+         # Dick 18-Aug-2013:
+@@ -167,5 +168,6 @@
+ 
+ ExternalProject_Add_Step( boost bzr_commit_boost
+-    COMMAND bzr ci -q -m pristine <SOURCE_DIR>
++    COMMAND env BZR_HOME=${PROJECT_SOURCE_DIR} bzr whoami "M R <mr@freebsd.org>"
++    COMMAND env BZR_HOME=${PROJECT_SOURCE_DIR} bzr ci -q -m pristine <SOURCE_DIR>
+     COMMENT "committing pristine boost files to 'boost scratch repo'"
+     DEPENDERS patch
+@@ -175,5 +177,5 @@
+ ExternalProject_Add_Step( boost bzr_add_boost
+     # add only the headers to the scratch repo, repo = "../.bzr" from ${headers_src}
+-    COMMAND bzr add -q ${headers_src}
++    COMMAND env BZR_HOME=${PROJECT_SOURCE_DIR} bzr add -q ${headers_src}
+     COMMENT "adding pristine boost files to 'boost scratch repo'"
+     DEPENDERS bzr_commit_boost
+@@ -182,5 +184,5 @@
+ 
+ ExternalProject_Add_Step( boost bzr_init_boost
+-    COMMAND bzr init -q <SOURCE_DIR>
++    COMMAND env BZR_HOME=${PROJECT_SOURCE_DIR} bzr init -q <SOURCE_DIR>
+     COMMENT "creating 'boost scratch repo' specifically for boost to track boost patches"
+     DEPENDERS bzr_add_boost
_______________________________________________
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 3 John Marino freebsd_committer freebsd_triage 2013-10-28 15:52:14 UTC
State Changed
From-To: open->closed

It builds now, thanks.