comparison Makefile @ 32575:197eb93560b3 stable

osx: override default exclude filter for pkgbuild To quote `man 1 pkgbuild`: --filter filter-expression By default, --root will include the entire contents of the given root-path in the package payload, except for any .svn or CVS directories, and any .DS_Store files. You can override these default filters by specifying one or more --filter options. Each filter-expression is an re_format(7) ``extended'' expression: any path in the root which matches any of the given expressions will be excluded from the pack- age payload. (Note that specifying even one --filter inhibits the default filters, so you must respecify the default fil- ters if you still want them to be used.) It turns out the default filter these days *also* includes .git and .hg. Notice how that filter expression is a regular expression? That (presumably unintentionally) prevents a file named "chg" or "_hg" from getting included in the distribution. Many many thanks to spectral@ for trying to include a _hg file which led us to figure this bug out. Bug filed with Apple for this as rdar://problem/32437369, mentioning both the gap in documentation and the wrong defaults.
author Augie Fackler <augie@google.com>
date Fri, 26 May 2017 20:03:05 -0400
parents fcddcf442e4f
children 501d48bda912
comparison
equal deleted inserted replaced
32574:870248603a4e 32575:197eb93560b3
162 rm -rf build/mercurial 162 rm -rf build/mercurial
163 /usr/bin/python2.7 setup.py install --optimize=1 \ 163 /usr/bin/python2.7 setup.py install --optimize=1 \
164 --root=build/mercurial/ --prefix=/usr/local/ \ 164 --root=build/mercurial/ --prefix=/usr/local/ \
165 --install-lib=/Library/Python/2.7/site-packages/ 165 --install-lib=/Library/Python/2.7/site-packages/
166 make -C doc all install DESTDIR="$(PWD)/build/mercurial/" 166 make -C doc all install DESTDIR="$(PWD)/build/mercurial/"
167 # Place a bogon .DS_Store file in the target dir so we can be
168 # sure it doesn't get included in the final package.
169 touch build/mercurial/.DS_Store
167 # install zsh completions - this location appears to be 170 # install zsh completions - this location appears to be
168 # searched by default as of macOS Sierra. 171 # searched by default as of macOS Sierra.
169 install -d build/mercurial/usr/local/share/zsh/site-functions/ 172 install -d build/mercurial/usr/local/share/zsh/site-functions/
170 install -m 0644 contrib/zsh_completion build/mercurial/usr/local/share/zsh/site-functions/hg 173 install -m 0644 contrib/zsh_completion build/mercurial/usr/local/share/zsh/site-functions/hg
171 # install bash completions - there doesn't appear to be a 174 # install bash completions - there doesn't appear to be a
175 install -d build/mercurial/usr/local/hg/contrib/ 178 install -d build/mercurial/usr/local/hg/contrib/
176 install -m 0644 contrib/bash_completion build/mercurial/usr/local/hg/contrib/hg-completion.bash 179 install -m 0644 contrib/bash_completion build/mercurial/usr/local/hg/contrib/hg-completion.bash
177 mkdir -p $${OUTPUTDIR:-dist} 180 mkdir -p $${OUTPUTDIR:-dist}
178 HGVER=$$((cat build/mercurial/Library/Python/2.7/site-packages/mercurial/__version__.py; echo 'print(version)') | python) && \ 181 HGVER=$$((cat build/mercurial/Library/Python/2.7/site-packages/mercurial/__version__.py; echo 'print(version)') | python) && \
179 OSXVER=$$(sw_vers -productVersion | cut -d. -f1,2) && \ 182 OSXVER=$$(sw_vers -productVersion | cut -d. -f1,2) && \
180 pkgbuild --root build/mercurial/ \ 183 pkgbuild --filter \\.DS_Store --root build/mercurial/ \
181 --identifier org.mercurial-scm.mercurial \ 184 --identifier org.mercurial-scm.mercurial \
182 --version "$${HGVER}" \ 185 --version "$${HGVER}" \
183 build/mercurial.pkg && \ 186 build/mercurial.pkg && \
184 productbuild --distribution contrib/macosx/distribution.xml \ 187 productbuild --distribution contrib/macosx/distribution.xml \
185 --package-path build/ \ 188 --package-path build/ \