Bug 226137 - installworld fails after unsetting WITHOUT_LOCALES=yes
Summary: installworld fails after unsetting WITHOUT_LOCALES=yes
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: conf (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Some People
Assignee: Baptiste Daroussin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-23 09:40 UTC by Raphael Kubo da Costa
Modified: 2019-10-07 09:35 UTC (History)
4 users (show)

See Also:
koobs: mfc-stable12?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raphael Kubo da Costa freebsd_committer 2018-02-23 09:40:20 UTC
I've recently installed a r329338 snapshot on a VM, then:
* svn up'ed to 329837
* Added WITHOUT_LOCALES=yes to /etc/src.conf and updated the system
* make delete-old removed /usr/share/locale

I noticed that was a bad option, removed WITHOUT_LOCALES=yes, rebuilt world but make installworld fails:

# make installworld
make[1]: "/usr/obj/usr/src/amd64.amd64/compiler-metadata.mk" line 1: Using cached compiler metadata from build at bsdmonster on Fri Feb 23 09:45:54 CET 2018
mkdir -p /tmp/install.5XpPiWM0
progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown cmp cp  date echo egrep find grep id install   ln make mkdir mtree mv pwd_mkdb  rm sed services_mkdb sh sort strip sysctl test true uname wc zic tzsetup   makewhatis; do  if progpath=`which $prog`; then  echo $progpath;  else  echo "Required tool $prog not found in PATH." >&2;  exit 1;  fi;  done);  libs=$(ldd -f "%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u |  while read line; do  set -- $line;  if [ "$2 $3" != "not found" ]; then  echo $2;  else  echo "Required library $1 not found." >&2;  exit 1;  fi;  done);  cp $libs $progs /tmp/install.5XpPiWM0
cp -R ${PATH_LOCALE:-"/usr/share/locale"} /tmp/install.5XpPiWM0/locale
cp: /usr/share/locale: No such file or directory
*** Error code 1
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2018-11-27 02:35:18 UTC
@Raphael Is this issue still reproducible?
Comment 2 Robert Blayzor 2019-10-02 18:20:36 UTC
I can confirm this bug on RELENG_12...

To reproduce:

- Install system as normal

- Build world and installworld from sources

- make delete-old after installation 

- buildworld again and attempt installworld... you will get this message
Comment 3 Robert Blayzor 2019-10-02 18:26:10 UTC
Workaround...

mkdir /usr/share/locale


Installworld as normal...
Comment 4 commit-hook freebsd_committer 2019-10-04 10:24:14 UTC
A commit references this bug:

Author: bapt
Date: Fri Oct  4 10:24:11 UTC 2019
New revision: 353100
URL: https://svnweb.freebsd.org/changeset/base/353100

Log:
  Do not remove the locale directory when building a system without locales

  This directory is actually needed during make installworld and will prevent
  to reinstall a system after make delete-old is done.

  PR:		226137
  Reported by:	rakuco
  MFC after:	3 days

Changes:
  head/tools/build/mk/OptionalObsoleteFiles.inc
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2019-10-05 04:14:15 UTC
(In reply to commit-hook from comment #4)

@Baptiste If this needs to go to releng/12.1 please add bug 240700 to this issues Blocks field
Comment 6 Baptiste Daroussin freebsd_committer 2019-10-07 07:30:28 UTC
I don't think it does need to be in 12.1 it is a minor corner case issue.