public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/101834] New: make distclean forgets ./c++tools/
@ 2021-08-09 18:42 dilyan.palauzov at aegee dot org
2021-08-09 18:47 ` [Bug bootstrap/101834] " pinskia at gcc dot gnu.org
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: dilyan.palauzov at aegee dot org @ 2021-08-09 18:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
Bug ID: 101834
Summary: make distclean forgets ./c++tools/
Product: gcc
Version: 11.2.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: dilyan.palauzov at aegee dot org
Target Milestone: ---
On the releases/gcc-11 branch, at commit
990bea6f7e23bd935ad022db6bf4c9de2f74baf3 (HEAD -> releases/gcc-11,
origin/releases/gcc-11)
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date: Sun Aug 8 00:18:08 2021 +0000
Daily bump.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index d5d1da952c7..3b0c65fa4e8 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20210807
+20210808
calling
#!/usr/local/bin/bash
export CONFIG_SITE="a"
mkdir -p build && cd build && ../configure --enable-threads=posix --enable-nls
--disable-multilib --enable-interpreter --with-system-zlib
--enable-languages=all --enable-targets=all --with-system-unwind --without-x
--with-linker-hash-style=gnu --enable-shared --with-build-config=bootstrap-lto\
bootstrap-O3 &> ../c-out && make && make install && make distclean && cd .. &&
rmdir build ;
does not delete:
build/c++tools
build/c++tools/resolver.o
build/c++tools/Makefile
build/c++tools/server.d
build/c++tools/server.o
build/c++tools/resolver.d
build/c++tools/config.cache
build/c++tools/g++-mapper-server
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
@ 2021-08-09 18:47 ` pinskia at gcc dot gnu.org
2022-12-14 16:40 ` pinskia at gcc dot gnu.org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-09 18:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|other |bootstrap
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
distclean is not used frequently for GCC as building in the src tree is not
fully supported.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
2021-08-09 18:47 ` [Bug bootstrap/101834] " pinskia at gcc dot gnu.org
@ 2022-12-14 16:40 ` pinskia at gcc dot gnu.org
2022-12-14 17:28 ` segher at gcc dot gnu.org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-12-14 16:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |segher at gcc dot gnu.org
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 108103 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
2021-08-09 18:47 ` [Bug bootstrap/101834] " pinskia at gcc dot gnu.org
2022-12-14 16:40 ` pinskia at gcc dot gnu.org
@ 2022-12-14 17:28 ` segher at gcc dot gnu.org
2023-03-30 10:59 ` segher at gcc dot gnu.org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: segher at gcc dot gnu.org @ 2022-12-14 17:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
I never build in the source tree. I use distclean a lot.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (2 preceding siblings ...)
2022-12-14 17:28 ` segher at gcc dot gnu.org
@ 2023-03-30 10:59 ` segher at gcc dot gnu.org
2023-03-30 11:24 ` redi at gcc dot gnu.org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: segher at gcc dot gnu.org @ 2023-03-30 10:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
Segher Boessenkool <segher at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2023-03-30
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> ---
This still happens, and still is incredibly annoying. Left over after
distclean are
$ ll c++tools/
total 3620
-rw-rw-r-- 1 segher segher 4781 Mar 29 10:39 Makefile
-rw-rw-r-- 1 segher segher 4972 Mar 29 10:39 config.cache
-rwxrwxr-x 1 segher segher 2578928 Mar 29 10:39 g++-mapper-server
-rw-rw-r-- 1 segher segher 1319 Mar 29 10:39 resolver.d
-rw-rw-r-- 1 segher segher 593464 Mar 29 10:39 resolver.o
-rw-rw-r-- 1 segher segher 2020 Mar 29 10:39 server.d
-rw-rw-r-- 1 segher segher 518552 Mar 29 10:39 server.o
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (3 preceding siblings ...)
2023-03-30 10:59 ` segher at gcc dot gnu.org
@ 2023-03-30 11:24 ` redi at gcc dot gnu.org
2023-03-30 11:37 ` redi at gcc dot gnu.org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2023-03-30 11:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
c++tools/Makefile.in has:
mostlyclean::
rm -f $(MAPPER.O)
clean::
rm -f g++-mapper-server$(exeext)
distclean::
rm -f config.log config.status config.h
Should distclean have clean as a prerequisite and clean have mostlyclean as a
prerequisite?
That would still leave config.cache and Makefile and the .d fragments though.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (4 preceding siblings ...)
2023-03-30 11:24 ` redi at gcc dot gnu.org
@ 2023-03-30 11:37 ` redi at gcc dot gnu.org
2023-03-30 11:45 ` segher at gcc dot gnu.org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2023-03-30 11:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Also, after 'make clean' you can no longer do 'make all'
c++tools$ make clean all
# --enable-maintainer-mode to rebuild
/home/jwakely/src/gcc/gcc/c++tools/configure, or make MAINTAINER=touch
# --enable-maintainer-mode to rebuild
/home/jwakely/src/gcc/gcc/c++tools/config.h.in, or make MAINTAINER=touch
rm -f g++-mapper-server
g++ -g -O2 -fno-exceptions -fno-rtti
-I/home/jwakely/src/gcc/gcc/c++tools/../libcody
-I/home/jwakely/src/gcc/gcc/c++tools/../include
-I/home/jwakely/src/gcc/gcc/c++tools/../gcc -I. -I../gcc \
-MMD -MP -MF server.d -c -o server.o
/home/jwakely/src/gcc/gcc/c++tools/server.cc
g++ -static-libstdc++ -static-libgcc -o g++-mapper-server server.o resolver.o
../libcody/libcody.a ../libiberty/libiberty.a
g++-mapper-server ../gcc/g++-mapper-server
make: g++-mapper-server: No such file or directory
make: *** [Makefile:101: ../gcc/g++-mapper-server] Error 127
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (5 preceding siblings ...)
2023-03-30 11:37 ` redi at gcc dot gnu.org
@ 2023-03-30 11:45 ` segher at gcc dot gnu.org
2023-03-30 11:46 ` segher at gcc dot gnu.org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: segher at gcc dot gnu.org @ 2023-03-30 11:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Thank you for looking at this!
(In reply to Jonathan Wakely from comment #5)
> c++tools/Makefile.in has:
>
> mostlyclean::
> rm -f $(MAPPER.O)
>
> clean::
> rm -f g++-mapper-server$(exeext)
>
> distclean::
> rm -f config.log config.status config.h
>
>
> Should distclean have clean as a prerequisite and clean have mostlyclean as
> a prerequisite?
That is what all other Makefiles do, and that makes sense yes. Is it that
simple? I'll test with that now.
> That would still leave config.cache and Makefile and the .d fragments though.
Yup, but those I know how to handle :-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (6 preceding siblings ...)
2023-03-30 11:45 ` segher at gcc dot gnu.org
@ 2023-03-30 11:46 ` segher at gcc dot gnu.org
2023-03-30 11:48 ` segher at gcc dot gnu.org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: segher at gcc dot gnu.org @ 2023-03-30 11:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #8 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #6)
> Also, after 'make clean' you can no longer do 'make all'
Of course you cannot. Where do you see this?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (7 preceding siblings ...)
2023-03-30 11:46 ` segher at gcc dot gnu.org
@ 2023-03-30 11:48 ` segher at gcc dot gnu.org
2023-03-30 11:53 ` redi at gcc dot gnu.org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: segher at gcc dot gnu.org @ 2023-03-30 11:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Segher Boessenkool from comment #8)
> (In reply to Jonathan Wakely from comment #6)
> > Also, after 'make clean' you can no longer do 'make all'
>
> Of course you cannot. Where do you see this?
Erm, scratch that, confusing clean and distclean myself now, heh.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (8 preceding siblings ...)
2023-03-30 11:48 ` segher at gcc dot gnu.org
@ 2023-03-30 11:53 ` redi at gcc dot gnu.org
2023-03-30 12:00 ` redi at gcc dot gnu.org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2023-03-30 11:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This seems like an improvement ...
--- a/c++tools/Makefile.in
+++ b/c++tools/Makefile.in
@@ -22,6 +22,7 @@ libexecdir := @libexecdir@
target_noncanonical := @target_noncanonical@
gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER)
libexecsubdir := $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
+INSTALL := @INSTALL@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_STRIP_PROGRAM := $(srcdir)/../install-sh -c -s
AUTOCONF := @AUTOCONF@
@@ -41,13 +42,14 @@ all::
mostlyclean::
rm -f $(MAPPER.O)
-clean::
+clean:: mostlyclean
rm -f g++-mapper-server$(exeext)
-distclean::
- rm -f config.log config.status config.h
+distclean:: clean
+ rm -f config.log config.status config.h config.cache Makefile
+ rm -f $(MAPPER.O:%.o=%.d)
-maintainer-clean::
+maintainer-clean:: distclean
install::
@@ -132,6 +134,6 @@ config.h: config.status config.h.in
config.status: $(srcdir)/configure $(srcdir)/config.h.in
if test -x $@; then ./$@ -recheck; else $< @configure_args@; fi
-.PHONY: all check clean distclean maintainer-clean
+.PHONY: all check mostlyclean clean distclean maintainer-clean
-include $(MAPPER.O:.o=.d)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (9 preceding siblings ...)
2023-03-30 11:53 ` redi at gcc dot gnu.org
@ 2023-03-30 12:00 ` redi at gcc dot gnu.org
2023-03-30 12:16 ` redi at gcc dot gnu.org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2023-03-30 12:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #10)
> @@ -22,6 +22,7 @@ libexecdir := @libexecdir@
> target_noncanonical := @target_noncanonical@
> gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER)
> libexecsubdir := $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
> +INSTALL := @INSTALL@
Without this, the 'all' target in c++tools is broken. It only works as part of
a bootstrap because the top-level Makefile sets INSTALL in the environment when
recursively calling 'make -C c++tools all'
> INSTALL_PROGRAM := @INSTALL_PROGRAM@
> INSTALL_STRIP_PROGRAM := $(srcdir)/../install-sh -c -s
> AUTOCONF := @AUTOCONF@
> @@ -41,13 +42,14 @@ all::
> mostlyclean::
> rm -f $(MAPPER.O)
>
> -clean::
> +clean:: mostlyclean
> rm -f g++-mapper-server$(exeext)
>
> -distclean::
> - rm -f config.log config.status config.h
> +distclean:: clean
> + rm -f config.log config.status config.h config.cache Makefile
> + rm -f $(MAPPER.O:%.o=%.d)
>
> -maintainer-clean::
> +maintainer-clean:: distclean
These ensure the clean targets progressively clean more, instead of only
removing disjoint sets of files, so that all the *clean targets need to be run
to clean up properly.
> @@ -132,6 +134,6 @@ config.h: config.status config.h.in
> config.status: $(srcdir)/configure $(srcdir)/config.h.in
> if test -x $@; then ./$@ -recheck; else $< @configure_args@; fi
>
> -.PHONY: all check clean distclean maintainer-clean
> +.PHONY: all check mostlyclean clean distclean maintainer-clean
And this was just missing.
There might be other problems, but this means that "make distclean" works, and
you can also do "make clean all" in the c++tools dir (rather than only being
able to build c++tools from the top-level).
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (10 preceding siblings ...)
2023-03-30 12:00 ` redi at gcc dot gnu.org
@ 2023-03-30 12:16 ` redi at gcc dot gnu.org
2023-03-31 9:39 ` cvs-commit at gcc dot gnu.org
2023-03-31 9:40 ` redi at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2023-03-30 12:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Patch submitted:
https://gcc.gnu.org/pipermail/gcc-patches/2023-March/614893.html
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (11 preceding siblings ...)
2023-03-30 12:16 ` redi at gcc dot gnu.org
@ 2023-03-31 9:39 ` cvs-commit at gcc dot gnu.org
2023-03-31 9:40 ` redi at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-03-31 9:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:79d1e0b2c2b8ff4f4b1118549a80945faa1cb356
commit r13-6955-g79d1e0b2c2b8ff4f4b1118549a80945faa1cb356
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Mar 30 13:03:11 2023 +0100
c++tools: Fix Makefile to properly clean and rebuild [PR101834]
The c++tools makefile doesn't remove progressively more files in each of
mostlyclean, clean, and distclean. Instead, each removes a different set
of files (and some files are not removed by any target). Use
prerequisites so that everything is removed.
Also, building in the $objdir/c++tools directory doesn't work, because
the INSTALL variable is never set. It works when building from the
top-level because INSTALL is set in the environment when recursively
invoking make for sub-directories.
c++tools/ChangeLog:
PR bootstrap/101834
* Makefile.in (INSTALL): Set variable.
(mostlyclean): Mark as a phony target.
(clean): Add mostlyclean as a prerequisite.
(distclean): Add clean as a prerequisite and remove more files.
(maintainer-clean): Add distclean as a prerequisite.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug bootstrap/101834] make distclean forgets ./c++tools/
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
` (12 preceding siblings ...)
2023-03-31 9:39 ` cvs-commit at gcc dot gnu.org
@ 2023-03-31 9:40 ` redi at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: redi at gcc dot gnu.org @ 2023-03-31 9:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101834
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org
--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed on trunk for now, backports planned.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2023-03-31 9:40 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-09 18:42 [Bug other/101834] New: make distclean forgets ./c++tools/ dilyan.palauzov at aegee dot org
2021-08-09 18:47 ` [Bug bootstrap/101834] " pinskia at gcc dot gnu.org
2022-12-14 16:40 ` pinskia at gcc dot gnu.org
2022-12-14 17:28 ` segher at gcc dot gnu.org
2023-03-30 10:59 ` segher at gcc dot gnu.org
2023-03-30 11:24 ` redi at gcc dot gnu.org
2023-03-30 11:37 ` redi at gcc dot gnu.org
2023-03-30 11:45 ` segher at gcc dot gnu.org
2023-03-30 11:46 ` segher at gcc dot gnu.org
2023-03-30 11:48 ` segher at gcc dot gnu.org
2023-03-30 11:53 ` redi at gcc dot gnu.org
2023-03-30 12:00 ` redi at gcc dot gnu.org
2023-03-30 12:16 ` redi at gcc dot gnu.org
2023-03-31 9:39 ` cvs-commit at gcc dot gnu.org
2023-03-31 9:40 ` redi at gcc dot gnu.org
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).