Hi Rod,
On 27/1/17 11:25 pm, Rodney W. Grimes wrote:
Author: julian
Date: Fri Jan 27 09:11:44 2017
New Revision: 312871
URL: https://svnweb.freebsd.org/changeset/base/312871

Log:
   MFH: r308671
When you select make OLDTIMEZONES=1 then you need a few added directories
   to be made or the command fails
Sponsored by: panzura MFH: r310426 If you are going to be run individually to make a new timezone set
   then ensure the destination directories exist.
   Especially if you define OLDTIMEZONES because the mtree pass
   doesn't do it for you.
Perhaps it is time to start pre-processing mtree files so this
would no longer be the case?
A much bigger question than I can handle at this time..  :-)

   Sponsored by:        Panzura

Modified:
   stable/11/share/zoneinfo/Makefile
Directory Properties:
   stable/11/   (props changed)

Modified: stable/11/share/zoneinfo/Makefile
==============================================================================
--- stable/11/share/zoneinfo/Makefile   Fri Jan 27 09:07:11 2017        
(r312870)
+++ stable/11/share/zoneinfo/Makefile   Fri Jan 27 09:11:44 2017        
(r312871)
@@ -67,6 +67,10 @@ TZBUILDSUBDIRS=      \
                Pacific \
                SystemV
+.if defined(OLDTIMEZONES)
+TZBUILDSUBDIRS+= US Mexico Chile Canada Brazil
+.endif
+
  .if !defined(_SKIP_BUILD)
  all: zoneinfo
  .endif
@@ -81,6 +85,8 @@ zoneinfo: yearistype ${TDATA}
beforeinstall: install-zoneinfo
  install-zoneinfo:
+       mkdir -p ${DESTDIR}/usr/share/zoneinfo
+       cd ${DESTDIR}/usr/share/zoneinfo;  mkdir -p ${TZBUILDSUBDIRS}
This has the failure mode that your current uid and umask, etc are
used in creating the directories.  Please add appropriate chown/chmod
commands to reflect what mtree would of done had it done this.
This is mostly because it failed when run as an individual operation to update zoninfo files. which would probably be done as root, or someone who wants the files owned by them. You can't write here unless you are root, so I'm not sure what the right thing to do would be.
and chown doesn't work if you are not root, so what would you suggest?
(what is needed for the offline permissions tool)?
should we assume ${DESTDIR}/usr/share exists already?

the following might be a very slight improvement, but ...

mkdir -p -m 755 ${DESTDIR}/usr/share
mkdir -p -m 755 ${DESTDIR}/usr/share/zoneinfo
cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p -m 755 ${TZBUILDSUBDIRS}
-cd ${DESTDIR}/usr/share/zoneinfo; chown -R ${BINOWN}:${BINGRP} .  < would fail 
if you are not root.

        cd ${TZBUILDDIR} && \
            find -s * -type f -print -exec ${INSTALL} ${TAG_ARGS} \
            -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
_______________________________________________
svn-src-stable...@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-11
To unsubscribe, send any mail to "svn-src-stable-11-unsubscr...@freebsd.org"


_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to