Skip site navigation (1)Skip section navigation (2)
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>