Date: Sat, 28 Feb 1998 19:53:21 -0500 (EST) From: Tim Vanderhoek <hoek@hwcn.org> To: Chuck Robey <chuckr@glue.umd.edu> Cc: "David E. O'Brien" <obrien@NUXI.com>, Satoshi Asami <asami@FreeBSD.ORG>, cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-ports@FreeBSD.ORG Subject: Re: cvs commit: ports/print/c2ps Makefile Message-ID: <Pine.GSO.3.96.980228170200.8963C-100000@james.hwcn.org> In-Reply-To: <Pine.BSF.3.96.980228144155.316T-100000@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 28 Feb 1998, Chuck Robey wrote:
> > Good point by Chuck. Maybe we should keep the current a2ps port as the
> > "guts" of the port, and add two shell ports, being a2ps-a4 and
> > a2ps-letter. Might be less confusion for someone that doens't use the
[...]
> mechanism. I would lean toward an adaptation (via bsd.port.mk) of the
> cookie idea that's in the current a2ps, but that is somewhat likely to be
If we add ports such as a2ps-letter, etc. being wholly
self-sufficient (ie. don't call `a2ps') then most of these
problems solve themselves. Cookies aren't needed since
a2ps-letter can only do -letter. INDEX isn't a problem.
Packages are built properly. If we lose the single "a2ps" port,
then the whole PAPERSIZE question becomes unnecessary.
No one's concerned about the ports system growth. The
significant disadvantage, I think, is the additional work of
making sure twice the number of Makefiles (and patches, and etc)
stay in sync when updating a port.
Going the other way and adding only "shell" a2ps-letter will only
solve 1) the INDEX problem, 2) the multiple-Makefile-sync
problem, and 3) make it easy for ports with tens of papersizes to
be built for one of these to be default. #1 is solved equally
well by non-"shell" a2ps-letter. #2 strikes me as a
"would-be-nice"-only feature. As far as #3, I don't think enough
people want a default such as "quarto" (the one exception being
letterdj, but we can't handle every exception). In exchange it'd
be necessary to keep cookies, validate PAPERSIZES, and maybe
provide a target for each PAPERSIZE for backwards consistency.
Actually, none of those are too hard. Either way would be
quite doable. FWIW, I think I prefer using just "shell"
Makefiles in <port>-<papersize> (my opinion was originally the
oposite :-).
PSIZE_COOKIE= ${WRKDIR}/.psize_cookie
.if exists(${PSIZE_COOKIE})
OPAPERSIZE:= ${PAPERSIZE}
PAPERSIZE=
PAPERSIZE!= ${CAT} ${PSIZE_COOKIE}
.else
.if !defined(PAPERSIZE)
PAPERSIZE= A4
DEF_PAPERSIZE= yes
.endif
.endif
.for PS in ${PSIZES}
${PS}:
.if !exists(${PSIZE_COOKIE})
@${MKDIR} `dirname ${PSIZE_COOKIE}`
@echo ${PS} > ${PSIZE_COOKIE}
.else
@if [ `${CAT} ${PSIZE_COOKIE}` != ${PS} ]; then \
${ECHO_MSG} ">> Can not change paper-size!"; \
${ECHO_MSG} ">> Try \`\`make clean ${PS}''"; \
fi
.endif
.endfor
papercheck:
.if defined(OPAPERSIZE) && ${OPAPERSIZE} != ${PAPERSIZE}
${ECHO_MSG} ">> Ignored PAPERSIZE=${OPAPERSIZE}, actually using ${PAPERSIZE}"
${ECHO_MSG} ">> Use \`\`make clean ${OPAPERSIZE}'' to get ${OPAPERSIZE}"
.elif defined(DEP_PAPERSIZE)
@${ECHO_MSG} ">> Defaulting PAPERSIZE to A4"
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} A4
.endif
@if !(cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} ${PAPERSIZE}); then \
${ECHO_MSG} ">> Could not set the paper-size to ${PAPERSIZE}"; \
${FALSE}; \
fi
[blah blah]
do-fetch: papercheck
[blah blah]
> Tim, you brought up the idea of doing it in bsd.port.mk. Any more
> thoughts? Does anyone else think the cookie notion stinks, or how else
Well, I'd actually been thinking about PAPERSIZE for a while and
had just been waiting for time to write/test some stuff, but then
this <port>-<papersize> idea came up, so I'm starting from
scratch. ;)
--
Outnumbered? Maybe. Outspoken? Never!
tIM...HOEk
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.96.980228170200.8963C-100000>
