public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [ITP] afflib 3.7.20-1
@ 2024-03-06 13:53 Christian Franke
  2024-03-06 14:31 ` Jon Turney
  0 siblings, 1 reply; 10+ messages in thread
From: Christian Franke @ 2024-03-06 13:53 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 1236 bytes --]

I would like to contribute afflib. Also present in Debian, Fedora, 
Ubuntu, ... but package naming differs:

Debian/Ubuntu: afflib-tools, libafflib0v5, libafflib-dev
Fedora: afftools, afflib, afflib-devel

It is indented to enable afflib format support for the next version of 
the sleuthkit package.

SUMMARY="Library and tools for the Advanced Forensic Format"

DESCRIPTION="\
The Advanced Forensic Format (AFF) is a file format for storing computer
forensic information.  It supports metadata, compression, encryption and
signing."

afflib_tools_DESCRIPTION="...
This package contains tools to examine, convert, compare, copy, encrypt,
decrypt and sign AFF files."

afflib-tools-3.7.20-1.tar.xz:
usr/bin/affcat.exe
usr/bin/affcompare.exe
usr/bin/affconvert.exe
usr/bin/affcopy.exe
usr/bin/affcrypto.exe
usr/bin/affdiskprint.exe
usr/bin/affinfo.exe
usr/bin/affix.exe
usr/bin/affrecover.exe
usr/bin/affsegment.exe
usr/bin/affsign.exe
usr/bin/affstats.exe
usr/bin/affverify.exe
usr/bin/affxml.exe
usr/share/doc/afflib/*
usr/share/man/man1/aff*.1.gz

libafflib-3.7.20-1.tar.xz:
usr/bin/cygafflib-0.dll

libafflib-devel-3.7.20-1.tar.xz:
usr/include/afflib/*.h
usr/lib/libafflib.dll.a
usr/lib/pkgconfig/afflib.pc

-- 
Regards,
Christian


[-- Attachment #2: afflib.cygport --]
[-- Type: text/plain, Size: 2443 bytes --]

# cygport script for afflib
NAME=afflib
VERSION=3.7.20
RELEASE=1
SOURCE_DATE="2024-03-06 13:00:00 UTC"

SUMMARY="Library and tools for the Advanced Forensic Format"

DESCRIPTION="\
The Advanced Forensic Format (AFF) is a file format for storing computer
forensic information.  It supports metadata, compression, encryption and
signing."

LICENSE="BSD-4-clause"

PKG_NAMES="afflib-tools libafflib libafflib-devel"

afflib_tools_SUMMARY="${SUMMARY} (tools)"
afflib_tools_DESCRIPTION="${DESCRIPTION}  
This package contains tools to examine, convert, compare, copy, encrypt,
decrypt and sign AFF files."

libafflib_SUMMARY="${SUMMARY} (runtime)"
libafflib_DESCRIPTION="${DESCRIPTION}  
This package contains the runtime library for afflib."

libafflib_devel_SUMMARY="${SUMMARY} (development)"
libafflib_devel_DESCRIPTION="${DESCRIPTION}  
This package contains the development files for libafflib."

CATEGORY="Devel Libs Utils"
afflib_tools_CATEGORY="Utils"
libafflib_CATEGORY="Libs"
libafflib_devel_CATEGORY="Devel Libs"

afflib_tools_REQUIRES="" # libafflib libexpat1 libgcc1 libreadline7 libssl3 libstdc++6
libafflib_REQUIRES="" # libcurl4 libexpat1 libgcc1 libssl3 libstdc++6 zlib0
libafflib_devel_REQUIRES="" # libafflib libssl-devel pkg-config

BUILD_REQUIRES="
  binutils gcc-g++ gzip libcurl-devel libexpat-devel libreadline-devel
  libssl-devel zlib-devel
" # make

HOMEPAGE="https://github.com/sshock/AFFLIBv3"
SRC_URI="https://codeload.github.com/sshock/AFFLIBv3/tar.gz/refs/tags/v${PV}#/${P}.tar.gz"
SRC_DIR="AFFLIBv3-${PV}"

afflib_tools_CONTENTS="
	--exclude=usr/bin/cygafflib-*.dll
	usr/bin
	usr/share
"
libafflib_CONTENTS="
	usr/bin/cygafflib-*.dll
"
libafflib_devel_CONTENTS="
	usr/include/afflib
	usr/lib
"

DIFF_EXCLUDES="lzma443"

export SOURCE_DATE_EPOCH=$(date -d "$SOURCE_DATE" +%s)

src_compile() {
	cd ${S}
	cygautoreconf

	cd ${B}
	cygconf --enable-shared --disable-static \
	        --enable-s3 --enable-threading --enable-qemu \
	        --with-curl --with-gnu-ld --with-expat \
	        --disable-fuse --disable-python

	# configure sets _FORTIFY_SOURCE=2 which would override level 3
	# libtool requires '-no-undefined'
	cygmake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
	        LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-no-undefined"
}

src_install() {
	cd ${B}
	cyginstall

	cd ${S}
	dodoc doc/*.txt

	cd ${D}
	rm -v usr/bin/affuse.exe usr/share/man/man1/affuse.1 # --disable-fuse
	gzip -9nv usr/share/doc/${PN}/*.txt
}

[-- Attachment #3: afflib-3.7.20-1.src.patch --]
[-- Type: text/plain, Size: 971 bytes --]

--- origsrc/AFFLIBv3-3.7.20/lib/Makefile.am	2024-03-06 13:00:00.000000000 +0000
+++ src/AFFLIBv3-3.7.20/lib/Makefile.am	2024-03-06 13:00:00.000000000 +0000
@@ -76,7 +76,7 @@ install-exec-hook:
              then echo $(libdir) already installed ; \
              else echo installing $(libdir) in $(DESTDIR)/etc/ld.so.conf ; \
                   echo $(libdir) >> $(DESTDIR)/etc/ld.so.conf ; \
-		  PATH=$(PATH):/sbin; \
+		  PATH="$(PATH):/sbin"; \
 		  ldconfig; \
           fi ; \
 	  echo "*************************************************" ;\
--- origsrc/AFFLIBv3-3.7.20/tools/affcopy.cpp	2024-03-06 13:00:00.000000000 +0000
+++ src/AFFLIBv3-3.7.20/tools/affcopy.cpp	2024-03-06 13:00:00.000000000 +0000
@@ -146,7 +146,7 @@ void unlink_outfiles(vector<string> outf
     if(failure) exit(1);
 }
 
-#if !defined( __BSD_VISIBLE) && !defined(isnumber)
+#if (!defined(__BSD_VISIBLE) || defined(__CYGWIN__)) && !defined(isnumber)
 #define isnumber(x) isdigit(x)
 #endif
 

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

* Re: [ITP] afflib 3.7.20-1
  2024-03-06 13:53 [ITP] afflib 3.7.20-1 Christian Franke
@ 2024-03-06 14:31 ` Jon Turney
  2024-03-06 15:39   ` Christian Franke
  0 siblings, 1 reply; 10+ messages in thread
From: Jon Turney @ 2024-03-06 14:31 UTC (permalink / raw)
  To: cygwin-apps; +Cc: Christian Franke


Thanks!

> 
> libafflib_CONTENTS="
> 	usr/bin/cygafflib-*.dll

Any reason why this package doesn't include the soversion, i.e. why not 
libafflib0?

> 	rm -v usr/bin/affuse.exe usr/share/man/man1/affuse.1 # --disable-fuse

I guess this comment means something to someone.  But it doesn't tell me 
anything...


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

* Re: [ITP] afflib 3.7.20-1
  2024-03-06 14:31 ` Jon Turney
@ 2024-03-06 15:39   ` Christian Franke
  2024-03-06 20:50     ` Jon Turney
  0 siblings, 1 reply; 10+ messages in thread
From: Christian Franke @ 2024-03-06 15:39 UTC (permalink / raw)
  To: cygwin-apps

Jon Turney wrote:
>
> Thanks!
>
>>
>> libafflib_CONTENTS="
>>     usr/bin/cygafflib-*.dll
>
> Any reason why this package doesn't include the soversion, i.e. why 
> not libafflib0?
>

Libtsk and libafflib are my first library packages, so I'm not sure what 
the policy is. My recent package libtsk has been accepted without 
soversion, so I omitted it also here. I assumed that the soversion will 
be added only when needed for new not backward compatible releases. The 
upstream afflib project is mostly idling, so I don't expect any new 
major lib versions in the near future.

If course, I could rename it to libafflib0 if desired.


>>     rm -v usr/bin/affuse.exe usr/share/man/man1/affuse.1 # 
>> --disable-fuse
>
> I guess this comment means something to someone.  But it doesn't tell 
> me anything...
>

:-)

Long form: If (Linux-)FUSE is unavailable, the affuse tool only prints 
that this is the case and exits then. There is no need to distribute it.


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

* Re: [ITP] afflib 3.7.20-1
  2024-03-06 15:39   ` Christian Franke
@ 2024-03-06 20:50     ` Jon Turney
  2024-03-06 22:26       ` Christian Franke
  0 siblings, 1 reply; 10+ messages in thread
From: Jon Turney @ 2024-03-06 20:50 UTC (permalink / raw)
  To: Christian Franke; +Cc: cygwin-apps

On 06/03/2024 15:39, Christian Franke via Cygwin-apps wrote:
> Jon Turney wrote:
>>
>> Thanks!
>>
>>>
>>> libafflib_CONTENTS="
>>>     usr/bin/cygafflib-*.dll
>>
>> Any reason why this package doesn't include the soversion, i.e. why 
>> not libafflib0?
>>
> 
> Libtsk and libafflib are my first library packages, so I'm not sure what 
> the policy is. My recent package libtsk has been accepted without 
> soversion, so I omitted it also here. I assumed that the soversion will 

I'm going to suggest that was an oversight in the review.

> be added only when needed for new not backward compatible releases. The 
> upstream afflib project is mostly idling, so I don't expect any new 
> major lib versions in the near future.
> 
> If course, I could rename it to libafflib0 if desired.

As far as I know, there is no cost for doing this, and it saves grief if 
upstream ever bumps the soversion.

Also, it's probably best to explicitly list the filename with soversion 
in the CONTENTS, so that if upstream ever does change the soversion, it 
will be detected as a packaging failure, rather than producing a package 
with a mismatch between the soversion in it's name and in it's contents.

(Cygport should perhaps and detect and warn about apparently soversioned 
libraries that aren't in appropriately named packages, but...)


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

* Re: [ITP] afflib 3.7.20-1
  2024-03-06 20:50     ` Jon Turney
@ 2024-03-06 22:26       ` Christian Franke
  2024-03-07  5:43         ` marco atzeri
  2024-03-21  9:04         ` Christian Franke
  0 siblings, 2 replies; 10+ messages in thread
From: Christian Franke @ 2024-03-06 22:26 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 1782 bytes --]

Jon Turney wrote:
> On 06/03/2024 15:39, Christian Franke via Cygwin-apps wrote:
>> Jon Turney wrote:
>>>
>>> Thanks!
>>>
>>>>
>>>> libafflib_CONTENTS="
>>>>     usr/bin/cygafflib-*.dll
>>>
>>> Any reason why this package doesn't include the soversion, i.e. why 
>>> not libafflib0?
>>>
>>
>> Libtsk and libafflib are my first library packages, so I'm not sure 
>> what the policy is. My recent package libtsk has been accepted 
>> without soversion, so I omitted it also here. I assumed that the 
>> soversion will 
>
> I'm going to suggest that was an oversight in the review.

Should I also rename libtsk to libtsk19 in the planned sleutkit-*-2 
package which will add afflib support ?
The original package is only a few days old and has possibly only a 
small but experienced audience, so I expect not much worries if the 
change will be explained in the announcement.


>
>> be added only when needed for new not backward compatible releases. 
>> The upstream afflib project is mostly idling, so I don't expect any 
>> new major lib versions in the near future.
>>
>> If course, I could rename it to libafflib0 if desired.
>
> As far as I know, there is no cost for doing this, and it saves grief 
> if upstream ever bumps the soversion.
>
> Also, it's probably best to explicitly list the filename with 
> soversion in the CONTENTS, so that if upstream ever does change the 
> soversion, it will be detected as a packaging failure, rather than 
> producing a package with a mismatch between the soversion in it's name 
> and in it's contents.

Good point, new cygport file is attached.


>
> (Cygport should perhaps and detect and warn about apparently 
> soversioned libraries that aren't in appropriately named packages, 
> but...)
>

... this is possibly a good idea.


[-- Attachment #2: afflib.cygport --]
[-- Type: text/plain, Size: 2485 bytes --]

# cygport script for afflib
NAME=afflib
VERSION=3.7.20
RELEASE=1
SOURCE_DATE="2024-03-06 22:00:00 UTC"

SUMMARY="Library and tools for the Advanced Forensic Format"

DESCRIPTION="\
The Advanced Forensic Format (AFF) is a file format for storing computer
forensic information.  It supports metadata, compression, encryption and
signing."

LICENSE="BSD-4-clause"

PKG_NAMES="afflib-tools libafflib0 libafflib-devel"

afflib_tools_SUMMARY="${SUMMARY} (tools)"
afflib_tools_DESCRIPTION="${DESCRIPTION}  
This package contains tools to examine, convert, compare, copy, encrypt,
decrypt and sign AFF files."

libafflib0_SUMMARY="${SUMMARY} (runtime)"
libafflib0_DESCRIPTION="${DESCRIPTION}  
This package contains the runtime library for afflib."

libafflib_devel_SUMMARY="${SUMMARY} (development)"
libafflib_devel_DESCRIPTION="${DESCRIPTION}  
This package contains the development files for libafflib0."

CATEGORY="Devel Libs Utils"
afflib_tools_CATEGORY="Utils"
libafflib0_CATEGORY="Libs"
libafflib_devel_CATEGORY="Devel Libs"

afflib_tools_REQUIRES="" # libafflib0 libexpat1 libgcc1 libreadline7 libssl3 libstdc++6
libafflib0_REQUIRES="" # libcurl4 libexpat1 libgcc1 libssl3 libstdc++6 zlib0
libafflib_devel_REQUIRES="" # libafflib0 libssl-devel pkg-config

BUILD_REQUIRES="
  binutils gcc-g++ gzip libcurl-devel libexpat-devel libreadline-devel
  libssl-devel zlib-devel
" # make

HOMEPAGE="https://github.com/sshock/AFFLIBv3"
SRC_URI="https://codeload.github.com/sshock/AFFLIBv3/tar.gz/refs/tags/v${PV}#/${P}.tar.gz"
SRC_DIR="AFFLIBv3-${PV}"

afflib_tools_CONTENTS="
	--exclude=usr/bin/cygafflib-0.dll
	usr/bin
	usr/share
"
libafflib0_CONTENTS="
	usr/bin/cygafflib-0.dll
"
libafflib_devel_CONTENTS="
	usr/include/afflib
	usr/lib
"

DIFF_EXCLUDES="lzma443"

export SOURCE_DATE_EPOCH=$(date -d "$SOURCE_DATE" +%s)

src_compile() {
	cd ${S}
	cygautoreconf

	cd ${B}
	cygconf --enable-shared --disable-static \
	        --enable-qemu --enable-s3 --enable-threading \
	        --with-curl --with-expat --with-gnu-ld \
	        --disable-fuse --disable-python

	# configure sets _FORTIFY_SOURCE=2 which would override level 3
	# libtool requires '-no-undefined'
	cygmake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
	        LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-no-undefined"
}

src_install() {
	cd ${B}
	cyginstall

	cd ${S}
	dodoc doc/*.txt

	cd ${D}
	# affuse only prints that FUSE is not supported
	rm -v usr/bin/affuse.exe usr/share/man/man1/affuse.1

	gzip -9nv usr/share/doc/${PN}/*.txt
}

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

* Re: [ITP] afflib 3.7.20-1
  2024-03-06 22:26       ` Christian Franke
@ 2024-03-07  5:43         ` marco atzeri
  2024-03-08  8:53           ` Christian Franke
  2024-03-21  9:04         ` Christian Franke
  1 sibling, 1 reply; 10+ messages in thread
From: marco atzeri @ 2024-03-07  5:43 UTC (permalink / raw)
  To: cygwin-apps; +Cc: Christian Franke

On Wed, Mar 6, 2024 at 11:26 PM Christian Franke via Cygwin-apps  wrote:
>
> Jon Turney wrote:
> > On 06/03/2024 15:39, Christian Franke via Cygwin-apps wrote:
> >> Jon Turney wrote:
> >>>
> >>> Thanks!
> >>>
> >>>>
> >>>> libafflib_CONTENTS="
> >>>>     usr/bin/cygafflib-*.dll
> >>>
> >>> Any reason why this package doesn't include the soversion, i.e. why
> >>> not libafflib0?
> >>>
> >>
> >> Libtsk and libafflib are my first library packages, so I'm not sure
> >> what the policy is. My recent package libtsk has been accepted
> >> without soversion, so I omitted it also here. I assumed that the
> >> soversion will
> >
> > I'm going to suggest that was an oversight in the review.
>
> Should I also rename libtsk to libtsk19 in the planned sleutkit-*-2
> package which will add afflib support ?

yes please

> The original package is only a few days old and has possibly only a
> small but experienced audience, so I expect not much worries if the
> change will be explained in the announcement.

not worries at all if you use

libtsk19_OBSOLETES=libtsk

see
https://cygwin.github.io/cygport/pkg_pkg_cygpart.html#PKG_OBSOLETES

Regards
Marco

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

* Re: [ITP] afflib 3.7.20-1
  2024-03-07  5:43         ` marco atzeri
@ 2024-03-08  8:53           ` Christian Franke
  2024-03-22 18:45             ` Christian Franke
  0 siblings, 1 reply; 10+ messages in thread
From: Christian Franke @ 2024-03-08  8:53 UTC (permalink / raw)
  To: cygwin-apps

marco atzeri wrote:
> On Wed, Mar 6, 2024 at 11:26 PM Christian Franke via Cygwin-apps  wrote:
>> Jon Turney wrote:
>>> On 06/03/2024 15:39, Christian Franke via Cygwin-apps wrote:
>>>> Jon Turney wrote:
>>>>> Thanks!
>>>>>
>>>>>> libafflib_CONTENTS="
>>>>>>      usr/bin/cygafflib-*.dll
>>>>> Any reason why this package doesn't include the soversion, i.e. why
>>>>> not libafflib0?
>>>>>
>>>> Libtsk and libafflib are my first library packages, so I'm not sure
>>>> what the policy is. My recent package libtsk has been accepted
>>>> without soversion, so I omitted it also here. I assumed that the
>>>> soversion will
>>> I'm going to suggest that was an oversight in the review.
>> Should I also rename libtsk to libtsk19 in the planned sleutkit-*-2
>> package which will add afflib support ?
> yes please
>
>> The original package is only a few days old and has possibly only a
>> small but experienced audience, so I expect not much worries if the
>> change will be explained in the announcement.
> not worries at all if you use
>
> libtsk19_OBSOLETES=libtsk
>
> see
> https://cygwin.github.io/cygport/pkg_pkg_cygpart.html#PKG_OBSOLETES

Thanks for the info. I will do this that way when libafflib0 package is 
available.

-- 
Regards,
Christian


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

* Re: [ITP] afflib 3.7.20-1
  2024-03-06 22:26       ` Christian Franke
  2024-03-07  5:43         ` marco atzeri
@ 2024-03-21  9:04         ` Christian Franke
  2024-03-21 16:09           ` Jon Turney
  1 sibling, 1 reply; 10+ messages in thread
From: Christian Franke @ 2024-03-21  9:04 UTC (permalink / raw)
  To: cygwin-apps

On Wed, 6 Mar 2024 23:26:05 +0100, Christian Franke wrote:
> Jon Turney wrote:
> ...
>>
>>> be added only when needed for new not backward compatible releases. 
>>> The upstream afflib project is mostly idling, so I don't expect any 
>>> new major lib versions in the near future.
>>>
>>> If course, I could rename it to libafflib0 if desired.
>>
>> As far as I know, there is no cost for doing this, and it saves grief 
>> if upstream ever bumps the soversion.
>>
>> Also, it's probably best to explicitly list the filename with 
>> soversion in the CONTENTS, so that if upstream ever does change the 
>> soversion, it will be detected as a packaging failure, rather than 
>> producing a package with a mismatch between the soversion in it's 
>> name and in it's contents.
>
> Good point, new cygport file is attached.

Any further issues with this ITP?


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

* Re: [ITP] afflib 3.7.20-1
  2024-03-21  9:04         ` Christian Franke
@ 2024-03-21 16:09           ` Jon Turney
  0 siblings, 0 replies; 10+ messages in thread
From: Jon Turney @ 2024-03-21 16:09 UTC (permalink / raw)
  To: Christian Franke; +Cc: cygwin-apps

On 21/03/2024 09:04, Christian Franke via Cygwin-apps wrote:
> On Wed, 6 Mar 2024 23:26:05 +0100, Christian Franke wrote:
>> Jon Turney wrote:
>> ...
>>>
>>>> be added only when needed for new not backward compatible releases. 
>>>> The upstream afflib project is mostly idling, so I don't expect any 
>>>> new major lib versions in the near future.
>>>>
>>>> If course, I could rename it to libafflib0 if desired.
>>>
>>> As far as I know, there is no cost for doing this, and it saves grief 
>>> if upstream ever bumps the soversion.
>>>
>>> Also, it's probably best to explicitly list the filename with 
>>> soversion in the CONTENTS, so that if upstream ever does change the 
>>> soversion, it will be detected as a packaging failure, rather than 
>>> producing a package with a mismatch between the soversion in it's 
>>> name and in it's contents.
>>
>> Good point, new cygport file is attached.
> 
> Any further issues with this ITP?

Seems good.

I added this to your packages.


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

* Re: [ITP] afflib 3.7.20-1
  2024-03-08  8:53           ` Christian Franke
@ 2024-03-22 18:45             ` Christian Franke
  0 siblings, 0 replies; 10+ messages in thread
From: Christian Franke @ 2024-03-22 18:45 UTC (permalink / raw)
  To: cygwin-apps

Christian Franke wrote:
> marco atzeri wrote:
>> On Wed, Mar 6, 2024 at 11:26 PM Christian Franke via Cygwin-apps  wrote:
>>> ...
>>> Should I also rename libtsk to libtsk19 in the planned sleutkit-*-2
>>> package which will add afflib support ?
>> yes please
>>
>>> The original package is only a few days old and has possibly only a
>>> small but experienced audience, so I expect not much worries if the
>>> change will be explained in the announcement.
>> not worries at all if you use
>>
>> libtsk19_OBSOLETES=libtsk
>>
>> see
>> https://cygwin.github.io/cygport/pkg_pkg_cygpart.html#PKG_OBSOLETES
>
> Thanks for the info. I will do this that way when libafflib0 package 
> is available.
>

Just for info: This worked as expected. Setup automatically selected 
"Uninstall" for libtsk.


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

end of thread, other threads:[~2024-03-22 18:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-06 13:53 [ITP] afflib 3.7.20-1 Christian Franke
2024-03-06 14:31 ` Jon Turney
2024-03-06 15:39   ` Christian Franke
2024-03-06 20:50     ` Jon Turney
2024-03-06 22:26       ` Christian Franke
2024-03-07  5:43         ` marco atzeri
2024-03-08  8:53           ` Christian Franke
2024-03-22 18:45             ` Christian Franke
2024-03-21  9:04         ` Christian Franke
2024-03-21 16:09           ` Jon Turney

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).