devel/intellij: use pax for install, drop unneeded chmod

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

devel/intellij: use pax for install, drop unneeded chmod

Klemens Nanni-2
When testing an update, I noticed how the fake target took quite long
on my X230 with POBJDIR sitting on MFS;  this is due to needless
compression and decompression.  Using simpler pax(1) is much faster:

time { tar -czf - -C /usr/ports/pobj/intellij-2018.3.5/idea-IC-183.5912.21 . | tar xzf - -C /usr/ports/pobj/intellij-2018.3.5/fake-amd64/usr/local/intellij; }
    1m01.83s real     1m09.53s user     0m11.72s system

time { cd /usr/ports/pobj/intellij-2018.3.5/idea-IC-183.5912.21 && pax -rw . /usr/ports/pobj/intellij-2018.3.5/fake-amd64/usr/local/intellij ; }
    0m05.92s real     0m00.14s user     0m05.71s system


While here, stop setting the same mode twice:

        $ make -p | grep ^SUBST_PROGRAM
        SUBST_PROGRAM    = ${SUBST_CMD} -c -m ${BINMODE}

OK?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/intellij/Makefile,v
retrieving revision 1.58
diff -u -p -r1.58 Makefile
--- Makefile 9 Mar 2019 09:55:50 -0000 1.58
+++ Makefile 17 Mar 2019 11:47:29 -0000
@@ -36,14 +36,13 @@ do-build:
 
 do-install:
  ${INSTALL_DATA_DIR} ${IJ}
- @tar -czf - -C ${WRKDIST} . | tar xzf - -C ${IJ}
+ cd ${WRKDIST} && pax -rw . ${IJ}
  @rm -rf ${IJ}/bin/libdbm64.so
  @rm -rf ${IJ}/jre
  @rm -rf ${IJ}/jre64
  @rm -rf ${IJ}/plugins/android
  @rm -rf ${IJ}/plugins/gradle/lib/native-platform-{freebsd,linux,osx,windows}*.jar
  @${SUBST_PROGRAM} ${FILESDIR}/idea ${PREFIX}/bin/idea
- @chmod ${BINMODE} ${PREFIX}/bin/idea
  @ln -s ${TRUEPREFIX}/bin/idea ${PREFIX}/bin/intellij
  ${INSTALL_MAN} ${FILESDIR}/idea.1 ${PREFIX}/man/man1
  ${INSTALL_DATA_DIR} ${PREFIX}/share/applications

Reply | Threaded
Open this post in threaded view
|

Re: devel/intellij: use pax for install, drop unneeded chmod

Stuart Henderson
On 2019/03/17 12:54, Klemens Nanni wrote:

> When testing an update, I noticed how the fake target took quite long
> on my X230 with POBJDIR sitting on MFS;  this is due to needless
> compression and decompression.  Using simpler pax(1) is much faster:
>
> time { tar -czf - -C /usr/ports/pobj/intellij-2018.3.5/idea-IC-183.5912.21 . | tar xzf - -C /usr/ports/pobj/intellij-2018.3.5/fake-amd64/usr/local/intellij; }
>     1m01.83s real     1m09.53s user     0m11.72s system
>
> time { cd /usr/ports/pobj/intellij-2018.3.5/idea-IC-183.5912.21 && pax -rw . /usr/ports/pobj/intellij-2018.3.5/fake-amd64/usr/local/intellij ; }
>     0m05.92s real     0m00.14s user     0m05.71s system
>
>
> While here, stop setting the same mode twice:
>
> $ make -p | grep ^SUBST_PROGRAM
> SUBST_PROGRAM    = ${SUBST_CMD} -c -m ${BINMODE}
>
> OK?
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/intellij/Makefile,v
> retrieving revision 1.58
> diff -u -p -r1.58 Makefile
> --- Makefile 9 Mar 2019 09:55:50 -0000 1.58
> +++ Makefile 17 Mar 2019 11:47:29 -0000
> @@ -36,14 +36,13 @@ do-build:
>  
>  do-install:
>   ${INSTALL_DATA_DIR} ${IJ}
> - @tar -czf - -C ${WRKDIST} . | tar xzf - -C ${IJ}
> + cd ${WRKDIST} && pax -rw . ${IJ}
>   @rm -rf ${IJ}/bin/libdbm64.so
>   @rm -rf ${IJ}/jre
>   @rm -rf ${IJ}/jre64
>   @rm -rf ${IJ}/plugins/android
>   @rm -rf ${IJ}/plugins/gradle/lib/native-platform-{freebsd,linux,osx,windows}*.jar
>   @${SUBST_PROGRAM} ${FILESDIR}/idea ${PREFIX}/bin/idea
> - @chmod ${BINMODE} ${PREFIX}/bin/idea
>   @ln -s ${TRUEPREFIX}/bin/idea ${PREFIX}/bin/intellij
>   ${INSTALL_MAN} ${FILESDIR}/idea.1 ${PREFIX}/man/man1
>   ${INSTALL_DATA_DIR} ${PREFIX}/share/applications
>

OK (or you could just remove the 'z').

netbeans does the same.