public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] gdb/doc: use silent-rules.mk in the Makefile
@ 2024-04-12 17:00 Andrew Burgess
  2024-04-12 18:31 ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Andrew Burgess @ 2024-04-12 17:00 UTC (permalink / raw)
  To: gdb-patches; +Cc: Andrew Burgess

Make use of silent-rules.mk when building the GDB docs.

Most of these are pretty straight forward, adding ECHO_GEN and then
lots of SILENCE prefixes.

I added a new SILENT_QUIET_FLAG to silent-rules.mk, this is like
SILENT_FLAG, but is set to '-q' when in silent mode, this can be used
with the 'dvips' and 'texi2dvi' commands, both of which use '-q' to
mean: only report errors.

As with the rest of the GDB makefiles, I've only converted the
"generation" rules to use silent-rules.mk, the install / uninstall
rules are left unchanged.

There are still a few "generation" targets that produce output, there
seems to be no flag to silence the 'tex' and 'pdftex' commands which
some recipes use, I've not worried about these for now, e.g. the
refcard.dvi and refcard.pdf targets still produce some output.

Luckily, when doing a 'make all' in the gdb/ directory, we only build
the info docs by default, and those rules are now nice and silent, so
a complete GDB build is now looking nice and quiet by default.
---
 gdb/doc/Makefile.in | 158 ++++++++++++++++++++++++--------------------
 gdb/silent-rules.mk |   1 +
 2 files changed, 86 insertions(+), 73 deletions(-)

diff --git a/gdb/doc/Makefile.in b/gdb/doc/Makefile.in
index 8007f6373d4..b999e3ffd3b 100644
--- a/gdb/doc/Makefile.in
+++ b/gdb/doc/Makefile.in
@@ -33,6 +33,8 @@ man5dir = $(mandir)/man5
 
 transform = @program_transform_name@
 
+include $(srcdir)/../silent-rules.mk
+
 SHELL = @SHELL@
 
 LN_S = @LN_S@
@@ -406,55 +408,58 @@ de-stage3: force
 
 # GDB QUICK REFERENCE (dvi output)
 refcard.dvi : refcard.tex $(REFEDITS)
-	echo > tmp.sed
-	for f in x $(REFEDITS) ; do \
+	$(ECHO_GEN)
+	$(SILENCE) echo > tmp.sed
+	$(SILENCE) for f in x $(REFEDITS) ; do \
 		test x$$f = xx && continue ; \
 		cat $(srcdir)/$$f >>tmp.sed ; \
 	done
-	sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
-	$(SET_TEXINPUTS) $(TEX) sedref.tex
-	mv sedref.dvi refcard.dvi
-	rm -f sedref.log sedref.tex tmp.sed
+	$(SILENCE) sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
+	$(SILENCE) $(SET_TEXINPUTS) $(TEX) sedref.tex
+	$(SILENCE) mv sedref.dvi refcard.dvi
+	$(SILENCE) rm -f sedref.log sedref.tex tmp.sed
 
 refcard.ps : refcard.dvi
-	$(DVIPS) -t landscape -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -t landscape -o $@ $?
 
 refcard.pdf : refcard.tex $(REFEDITS)
-	echo > tmp.sed
-	for f in x $(REFEDITS) ; do \
+	$(ECHO_GEN)
+	$(SILENCE) echo > tmp.sed
+	$(SILENCE) for f in x $(REFEDITS) ; do \
 		test x$$f = xx && continue ; \
 		cat $(srcdir)/$$f >>tmp.sed ; \
 	done
-	sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
-	$(SET_TEXINPUTS) $(PDFTEX) sedref.tex
-	mv sedref.pdf refcard.pdf
-	rm -f sedref.log sedref.tex tmp.sed
+	$(SILENCE) sed -f tmp.sed $(srcdir)/refcard.tex >sedref.tex
+	$(SILENCE) $(SET_TEXINPUTS) $(PDFTEX) sedref.tex
+	$(SILENCE) mv sedref.pdf refcard.pdf
+	$(SILENCE) rm -f sedref.log sedref.tex tmp.sed
 
 # File to record current GDB version number.
 GDBvn.texi : version.subst
-	echo "@set GDBVN `sed q version.subst`" > ./GDBvn.new
-	if [ -n "$(PKGVERSION)" ]; then \
+	$(ECHO_GEN)
+	$(SILENCE) echo "@set GDBVN `sed q version.subst`" > ./GDBvn.new
+	$(SILENCE) if [ -n "$(PKGVERSION)" ]; then \
 	  echo "@set VERSION_PACKAGE $(PKGVERSION)" >> ./GDBvn.new; \
 	fi
-	echo "@set BUGURL $(BUGURL_TEXI)" >> ./GDBvn.new
-	if [ "$(BUGURL_TEXI)" = "@uref{http://www.gnu.org/software/gdb/bugs/}" ]; then \
+	$(SILENCE) echo "@set BUGURL $(BUGURL_TEXI)" >> ./GDBvn.new
+	$(SILENCE) if [ "$(BUGURL_TEXI)" = "@uref{http://www.gnu.org/software/gdb/bugs/}" ]; then \
 	  echo "@set BUGURL_DEFAULT" >> ./GDBvn.new; \
 	fi
-	if test -z "$(READLINE_TEXI_INCFLAG)"; then \
+	$(SILENCE) if test -z "$(READLINE_TEXI_INCFLAG)"; then \
 	  echo "@set SYSTEM_READLINE" >> ./GDBvn.new; \
 	fi
-	if [ -n "$(SYSTEM_GDBINIT)" ]; then \
+	$(SILENCE) if [ -n "$(SYSTEM_GDBINIT)" ]; then \
 	  escaped_system_gdbinit=`echo $(SYSTEM_GDBINIT) | sed 's/@/@@/g'`; \
 	  echo "@set SYSTEM_GDBINIT $$escaped_system_gdbinit" >> ./GDBvn.new; \
 	fi
-	if [ -n "$(SYSTEM_GDBINIT_DIR)" ]; then \
+	$(SILENCE) if [ -n "$(SYSTEM_GDBINIT_DIR)" ]; then \
 	  escaped_system_gdbinit_dir=`echo $(SYSTEM_GDBINIT_DIR) | sed 's/@/@@/g'`; \
 	  echo "@set SYSTEM_GDBINIT_DIR $$escaped_system_gdbinit_dir" >> ./GDBvn.new; \
 	fi
-	mv GDBvn.new GDBvn.texi
+	$(SILENCE) mv GDBvn.new GDBvn.texi
 
 version.subst: $(gdbdir)/version.in $(gdbdir)/../bfd/version.h
-	date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $(gdbdir)/../bfd/version.h`; \
+	$(ECHO_GEN) date=`sed -n -e 's/^.* BFD_VERSION_DATE \(.*\)$$/\1/p' $(gdbdir)/../bfd/version.h`; \
 	sed -e "s/DATE/$$date/" < $(gdbdir)/version.in > version.subst
 
 # Updated atomically
@@ -465,7 +470,7 @@ version.subst: $(gdbdir)/version.in $(gdbdir)/../bfd/version.h
 # not one for their binary config---which may not be specifically
 # defined anyways).
 gdb-cfg.texi: ${srcdir}/${DOC_CONFIG}-cfg.texi
-	(test "$(LN_S)" = "ln -s" && \
+	$(ECHO_GEN) (test "$(LN_S)" = "ln -s" && \
 	  ln -s ${srcdir}/${DOC_CONFIG}-cfg.texi gdb-cfg.texi) || \
 	ln ${srcdir}/${DOC_CONFIG}-cfg.texi gdb-cfg.texi || \
 	cp ${srcdir}/${DOC_CONFIG}-cfg.texi gdb-cfg.texi
@@ -487,29 +492,32 @@ GDB_TEX_TMPS = gdb.aux gdb.cp* gdb.fn* gdb.ky* gdb.log gdb.pg* gdb.toc \
 
 # GDB MANUAL: TeX dvi file
 gdb.dvi: ${GDB_DOC_FILES}
-	if [ ! -f ./GDBvn.texi ]; then \
+	$(ECHO_GEN)
+	$(SILENCE) if [ ! -f ./GDBvn.texi ]; then \
 		(test "$(LN_S)" = "ln -s" && ln -s $(srcdir)/GDBvn.texi .) || \
 		ln $(srcdir)/GDBvn.texi . || \
 		cp $(srcdir)/GDBvn.texi . ; else true; fi
-	rm -f $(GDB_TEX_TMPS)
-	$(TEXI2DVI) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
-		$(srcdir)/gdb.texinfo
+	$(SILENCE) rm -f $(GDB_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) $(READLINE_TEXI_INCFLAG) \
+		-I ${GDBMI_DIR} -I $(srcdir) $(srcdir)/gdb.texinfo
 
 gdb.ps: gdb.dvi
-	$(DVIPS) -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $?
 
 gdb.pdf: ${GDB_DOC_FILES}
-	if [ ! -f ./GDBvn.texi ]; then \
+	$(ECHO_GEN)
+	$(SILENCE) if [ ! -f ./GDBvn.texi ]; then \
 		(test "$(LN_S)" = "ln -s" && ln -s $(srcdir)/GDBvn.texi .) || \
 		ln $(srcdir)/GDBvn.texi . || \
 		cp $(srcdir)/GDBvn.texi . ; else true; fi
-	rm -f $(GDB_TEX_TMPS)
-	$(TEXI2DVI) --pdf $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
+	$(SILENCE) rm -f $(GDB_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) --pdf \
+		$(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
 		$(srcdir)/gdb.texinfo
 
 # GDB MANUAL: info file
 gdb.info: ${GDB_DOC_FILES}
-	$(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
+	$(ECHO_GEN) $(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
 		-o gdb.info $(srcdir)/gdb.texinfo
 
 # GDB MANUAL: roff translations
@@ -527,16 +535,16 @@ gdb.info: ${GDB_DOC_FILES}
 # it out for gdb manual's include files---but only if not configured
 # in main sourcedir.
 links2roff: $(GDB_DOC_SOURCE_INCLUDES)
-	if [ ! -f gdb.texinfo ]; then \
+	$(ECHO_GEN) if [ ! -f gdb.texinfo ]; then \
 		(test "$(LN_S)" = "ln -s" && ln -s $(GDB_DOC_SOURCE_INCLUDES) .) || \
 		ln $(GDB_DOC_SOURCE_INCLUDES)    . || \
 		cp $(GDB_DOC_SOURCE_INCLUDES)    . ; \
 	fi
-	touch links2roff
+	$(SILENCE) touch links2roff
 
 # gdb manual suitable for [gtn]roff -me
 gdb.me: $(GDB_DOC_FILES) links2roff
-	sed -e '/\\input texinfo/d' \
+	$(ECHO_GEN) sed -e '/\\input texinfo/d' \
 		-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
 		-e '/^@ifinfo/,/^@end ifinfo/d' \
 		-e '/^@c /d' \
@@ -551,7 +559,7 @@ gdb.me: $(GDB_DOC_FILES) links2roff
 
 # gdb manual suitable for [gtn]roff -ms
 gdb.ms: $(GDB_DOC_FILES) links2roff
-	sed -e '/\\input texinfo/d' \
+	$(ECHO_GEN) sed -e '/\\input texinfo/d' \
 		-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
 		-e '/^@ifinfo/,/^@end ifinfo/d' \
 		-e '/^@c /d' \
@@ -568,7 +576,7 @@ gdb.ms: $(GDB_DOC_FILES) links2roff
 # '@noindent's removed due to texi2roff-2 mm bug; if yours is newer, 
 #   try leaving them in
 gdb.mm: $(GDB_DOC_FILES) links2roff
-	sed -e '/\\input texinfo/d' \
+	$(ECHO_GEN) sed -e '/\\input texinfo/d' \
 		-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
 		-e '/^@ifinfo/,/^@end ifinfo/d' \
 		-e '/^@c /d' \
@@ -585,18 +593,18 @@ gdb.mm: $(GDB_DOC_FILES) links2roff
 # GDB MANUAL: HTML file
 
 gdb/index.html: ${GDB_DOC_FILES}
-	$(MAKEHTML) $(MAKEHTMLFLAGS) \
+	$(ECHO_GEN) $(MAKEHTML) $(MAKEHTMLFLAGS) \
 		-o gdb \
 		$(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
 		$(srcdir)/gdb.texinfo
 
 stabs.info: $(STABS_DOC_FILES)
-	$(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
+	$(ECHO_GEN) $(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
 
 # STABS DOCUMENTATION: HTML file
 
 stabs/index.html: $(STABS_DOC_FILES)
-	$(MAKEHTML) $(MAKEHTMLFLAGS) \
+	$(ECHO_GEN) $(MAKEHTML) $(MAKEHTMLFLAGS) \
 		-o stabs \
 		-I $(srcdir) \
 		$(srcdir)/stabs.texinfo
@@ -609,15 +617,17 @@ STABS_TEX_TMPS = stabs.aux stabs.cp* stabs.fn* stabs.ky* \
 
 # STABS DOCUMENTATION: TeX dvi file
 stabs.dvi : $(STABS_DOC_FILES)
-	rm -f $(STABS_TEX_TMPS)
-	$(TEXI2DVI) -I $(srcdir) $(srcdir)/stabs.texinfo
+	$(ECHO_GEN) rm -f $(STABS_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) -I $(srcdir) \
+		$(srcdir)/stabs.texinfo
 
 stabs.ps: stabs.dvi
-	$(DVIPS) -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $?
 
 stabs.pdf: $(STABS_DOC_FILES)
-	rm -f $(STABS_TEX_TMPS)
-	$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/stabs.texinfo
+	$(ECHO_GEN) rm -f $(STABS_TEX_TMPS)
+	$(SILENCE) $(TEXI2DVI) $(SILENT_QUIET_FLAG) --pdf -I $(srcdir) \
+		$(srcdir)/stabs.texinfo
 
 # Clean these up before each run.  Avoids a catch 22 with not being
 # able to re-generate these files (to fix a corruption) because these
@@ -627,65 +637,67 @@ ANNOTATE_TEX_TMPS = annotate.aux annotate.cp* annotate.fn* annotate.ky* \
 
 # ANNOTATE DOCUMENTATION: TeX dvi file
 annotate.dvi : $(ANNOTATE_DOC_FILES)
-	rm -f $(ANNOTATE_TEX_TMPS)
-	$(TEXI2DVI) -I $(srcdir) $(srcdir)/annotate.texinfo
+	$(SILENCE) rm -f $(ANNOTATE_TEX_TMPS)
+	$(ECHO_GEN) $(TEXI2DVI) $(SILENT_QUIET_FLAG) -I $(srcdir) \
+		$(srcdir)/annotate.texinfo
 
 annotate.ps: annotate.dvi
-	$(DVIPS) -o $@ $?
+	$(ECHO_GEN) $(DVIPS) $(SILENT_QUIET_FLAG) -o $@ $?
 
 annotate.pdf: $(ANNOTATE_DOC_FILES)
-	rm -f $(ANNOTATE_TEX_TMPS)
-	$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/annotate.texinfo
+	$(SILENCE) rm -f $(ANNOTATE_TEX_TMPS)
+	$(ECHO_GEN) $(TEXI2DVI) $(SILENT_QUIET_FLAG) --pdf -I $(srcdir) \
+		$(srcdir)/annotate.texinfo
 
 annotate.info: $(ANNOTATE_DOC_FILES)
-	$(MAKEINFO_CMD) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
+	$(ECHO_GEN) $(MAKEINFO_CMD) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
 
 annotate/index.html: $(ANNOTATE_DOC_FILES)
-	$(MAKEHTML) $(MAKEHTMLFLAGS) \
+	$(ECHO_GEN) $(MAKEHTML) $(MAKEHTMLFLAGS) \
 		-o annotate \
 		-I $(srcdir) \
 		$(srcdir)/annotate.texinfo
 
 # Man pages
 gdb.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdb < $(srcdir)/gdb.texinfo > gdb.pod
-	-($(POD2MAN1) gdb.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdb < $(srcdir)/gdb.texinfo > gdb.pod
+	$(SILENCE) -($(POD2MAN1) gdb.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdb.pod
+	$(SILENCE) rm -f gdb.pod
 
 gdbserver.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdbserver < $(srcdir)/gdb.texinfo > gdbserver.pod
-	-($(POD2MAN1) gdbserver.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdbserver < $(srcdir)/gdb.texinfo > gdbserver.pod
+	$(SILENCE) -($(POD2MAN1) gdbserver.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdbserver.pod
+	$(SILENCE) rm -f gdbserver.pod
 
 gcore.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgcore < $(srcdir)/gdb.texinfo > gcore.pod
-	-($(POD2MAN1) gcore.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgcore < $(srcdir)/gdb.texinfo > gcore.pod
+	$(SILENCE) -($(POD2MAN1) gcore.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gcore.pod
+	$(SILENCE) rm -f gcore.pod
 
 gdb-add-index.1: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod
-	-($(POD2MAN1) gdb-add-index.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdb-add-index < $(srcdir)/gdb.texinfo > gdb-add-index.pod
+	$(SILENCE) -($(POD2MAN1) gdb-add-index.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdb-add-index.pod
+	$(SILENCE) rm -f gdb-add-index.pod
 
 gdbinit.5: $(GDB_DOC_FILES)
-	touch $@
-	-$(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod
-	-($(POD2MAN5) gdbinit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+	$(ECHO_GEN) touch $@
+	$(SILENCE) -$(TEXI2POD) $(MANCONF) -Dgdbinit < $(srcdir)/gdb.texinfo > gdbinit.pod
+	$(SILENCE) -($(POD2MAN5) gdbinit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
 		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-	rm -f gdbinit.pod
+	$(SILENCE) rm -f gdbinit.pod
 
 force:
 
 Makefile: Makefile.in $(host_makefile_frag) ../config.status
-	cd .. && $(SHELL) ./config.status doc/Makefile
+	$(ECHO_GEN) cd .. && $(SHELL) ./config.status $(SILENT_FLAG) doc/Makefile
 
 
 # The "least clean" level of cleaning.  Get rid of files which are
diff --git a/gdb/silent-rules.mk b/gdb/silent-rules.mk
index 43dc2bf3aca..324dae52954 100644
--- a/gdb/silent-rules.mk
+++ b/gdb/silent-rules.mk
@@ -20,6 +20,7 @@ ECHO_RANLIB = @echo "  RANLIB $@";
 SILENCE = @
 # Silence libtool.
 SILENT_FLAG = --silent
+SILENT_QUIET_FLAG = -q
 # Used in shell snippets instead of 'echo'.
 SILENT_ECHO = true
 else

base-commit: 032e5e0c0c08977e8109e8482cd944bac8572d92
-- 
2.25.4


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-05-28 15:25 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-12 17:00 [PATCH] gdb/doc: use silent-rules.mk in the Makefile Andrew Burgess
2024-04-12 18:31 ` Eli Zaretskii
2024-04-12 22:32   ` Andrew Burgess
2024-04-13  7:02     ` Eli Zaretskii
2024-04-15 13:55       ` Andrew Burgess
2024-04-15 14:18         ` Simon Marchi
2024-04-16  7:48           ` Andrew Burgess
2024-04-16  8:47             ` Andrew Burgess
2024-04-16 15:01               ` Simon Marchi
2024-04-17 21:00                 ` Andrew Burgess
2024-05-08 17:46                   ` Andrew Burgess
2024-05-26 18:20                     ` Joel Brobecker
2024-05-26 22:02                       ` Andrew Burgess
2024-05-26 22:58                         ` Andrew Burgess
2024-05-28 15:25                           ` Tom Tromey
2024-04-15 14:37         ` Eli Zaretskii

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).