Changeset View
Changeset View
Standalone View
Standalone View
Mk/Uses/uniquefiles.mk
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | |||||
.if !defined(_INCLUDE_USES_UNIQUEFILES_MK) | .if !defined(_INCLUDE_USES_UNIQUEFILES_MK) | ||||
_INCLUDE_USES_UNIQUEFILES_MK= yes | _INCLUDE_USES_UNIQUEFILES_MK= yes | ||||
UNIQUE_PREFIX?= ${PKGNAMEPREFIX} | UNIQUE_PREFIX?= ${PKGNAMEPREFIX} | ||||
UNIQUE_SUFFIX?= ${PKGNAMESUFFIX} | UNIQUE_SUFFIX?= ${PKGNAMESUFFIX} | ||||
UNIQUE_PREFIX_FILES?= # empty | UNIQUE_PREFIX_FILES?= # empty | ||||
UNIQUE_SUFFIX_FILES?= # empty | UNIQUE_SUFFIX_FILES?= # empty | ||||
UNIQUE_SUFFIX_TYPES+= SUFFIX | |||||
.if ${uniquefiles_ARGS:Mdirs} | .if ${uniquefiles_ARGS:Mdirs} | ||||
DOCSDIR= ${PREFIX}/share/doc/${UNIQUE_PREFIX}${PORTNAME} | DOCSDIR= ${PREFIX}/share/doc/${UNIQUE_PREFIX}${PORTNAME} | ||||
EXAMPLESDIR= ${PREFIX}/share/examples/${UNIQUE_PREFIX}${PORTNAME} | EXAMPLESDIR= ${PREFIX}/share/examples/${UNIQUE_PREFIX}${PORTNAME} | ||||
DATADIR= ${PREFIX}/share/${UNIQUE_PREFIX}${PORTNAME} | DATADIR= ${PREFIX}/share/${UNIQUE_PREFIX}${PORTNAME} | ||||
WWWDIR= ${PREFIX}/www/${UNIQUE_PREFIX}${PORTNAME} | WWWDIR= ${PREFIX}/www/${UNIQUE_PREFIX}${PORTNAME} | ||||
ETCDIR= ${PREFIX}/etc/${UNIQUE_PREFIX}${PORTNAME} | ETCDIR= ${PREFIX}/etc/${UNIQUE_PREFIX}${PORTNAME} | ||||
.endif | .endif | ||||
▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ | ||||
${_DO_CONDITIONAL_SYMLINK}; \ | ${_DO_CONDITIONAL_SYMLINK}; \ | ||||
else \ | else \ | ||||
${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \ | ${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \ | ||||
${FALSE}; \ | ${FALSE}; \ | ||||
fi; \ | fi; \ | ||||
done; | done; | ||||
.endif | .endif | ||||
.if ${UNIQUE_SUFFIX_FILES} || ${UNIQUE_FIND_SUFFIX_FILES} | .for sufxtype in ${UNIQUE_SUFFIX_TYPES} | ||||
. if (defined(UNIQUE_${sufxtype}_FILES) && ${UNIQUE_${sufxtype}_FILES}) || \ | |||||
(defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES}) | |||||
. if defined(UNIQUE_${sufxtype}_WITH_EXT) && ${UNIQUE_${sufxtype}_WITH_EXT} | |||||
@${ECHO_MSG} "===> Creating unique files: Move ${sufxtype:S|SUFFIX_||} files needing SUFFIX"; | |||||
. else | |||||
@${ECHO_MSG} "===> Creating unique files: Move files needing SUFFIX"; | @${ECHO_MSG} "===> Creating unique files: Move files needing SUFFIX"; | ||||
.endif | . endif | ||||
.for entry in ${UNIQUE_SUFFIX_FILES} | . endif | ||||
. for entry in ${UNIQUE_${sufxtype}_FILES} | |||||
@fname=${entry}; \ | @fname=${entry}; \ | ||||
if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ | if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ | ||||
newf=$${fname%/*}/$${fname##*/}${UNIQUE_SUFFIX}; \ | ofname=$${fname##*/}; \ | ||||
newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \ | |||||
${ECHO_MSG} "Move: $${fname} --> $${newf}"; \ | ${ECHO_MSG} "Move: $${fname} --> $${newf}"; \ | ||||
${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ | ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ | ||||
${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ | ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ | ||||
${_DO_CONDITIONAL_SYMLINK}; \ | ${_DO_CONDITIONAL_SYMLINK}; \ | ||||
else \ | else \ | ||||
${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \ | ${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \ | ||||
${FALSE}; \ | ${FALSE}; \ | ||||
fi; | fi; | ||||
.endfor | . endfor | ||||
.if ${UNIQUE_FIND_SUFFIX_FILES} | . if defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES} | ||||
@for fname in `${UNIQUE_FIND_SUFFIX_FILES}`; do \ | @for fname in `${UNIQUE_FIND_${sufxtype}_FILES}`; do \ | ||||
if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ | if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ | ||||
newf=$${fname%/*}/$${fname##*/}${UNIQUE_SUFFIX}; \ | ofname=$${fname##*/}; \ | ||||
newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \ | |||||
${ECHO_MSG} "Move: $${fname} --> $${newf}"; \ | ${ECHO_MSG} "Move: $${fname} --> $${newf}"; \ | ||||
${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ | ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ | ||||
${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ | ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ | ||||
${_DO_CONDITIONAL_SYMLINK}; \ | ${_DO_CONDITIONAL_SYMLINK}; \ | ||||
else \ | else \ | ||||
${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \ | ${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \ | ||||
${FALSE}; \ | ${FALSE}; \ | ||||
fi; \ | fi; \ | ||||
done; | done; | ||||
.endif | . endif | ||||
.endfor | |||||
# Using .if exists(${_UNIQUEPKGPLIST} below instead of the sh test | # Using .if exists(${_UNIQUEPKGPLIST} below instead of the sh test | ||||
# does not work in poudriere. It works fine on the CLI, though... | # does not work in poudriere. It works fine on the CLI, though... | ||||
_USES_stage+= 950:move-uniquefiles-plist | _USES_stage+= 950:move-uniquefiles-plist | ||||
move-uniquefiles-plist: | move-uniquefiles-plist: | ||||
@if [ -e ${_UNIQUEPKGLIST} ]; then \ | @if [ -e ${_UNIQUEPKGLIST} ]; then \ | ||||
orgIFS=$$IFS; IFS=":"; while read command entry newentry; do \ | orgIFS=$$IFS; IFS=":"; while read command entry newentry; do \ | ||||
IFS=$$orgIFS; \ | IFS=$$orgIFS; \ | ||||
case $$entry in man/man[0-9ln]/*) entry="$$entry.gz" ;; esac; \ | |||||
case $$newentry in man/man[0-9ln]/*) newentry="$$newentry.gz" ;; esac; \ | |||||
case $${command} in \ | case $${command} in \ | ||||
MOVED) \ | MOVED) \ | ||||
${REINPLACE_CMD} -e "s|^$${entry}$$|$${newentry}|" ${TMPPLIST}; \ | ${REINPLACE_CMD} -e "s|^$${entry}$$|$${newentry}|" ${TMPPLIST}; \ | ||||
;; \ | ;; \ | ||||
LINKED) \ | LINKED) \ | ||||
${AWK} '$$0 ~ pe { print; print ne ;next }1' \ | ${AWK} '$$0 ~ pe { print; print ne ;next }1' \ | ||||
pe="$${entry}" ne="$${newentry}" \ | pe="$${entry}" ne="$${newentry}" \ | ||||
${TMPPLIST} > ${TMPPLIST}.uniquefilestmp; \ | ${TMPPLIST} > ${TMPPLIST}.uniquefilestmp; \ | ||||
Show All 9 Lines |