+cabal-version: 3.0
name: mailbox-count
-version: 0.0.3
-cabal-version: >= 1.8
+version: 0.0.8
author: Michael Orlitzky
-maintainer: Michael Orlitzky <michael@orlitzky.com>
-license: AGPL-3
+maintainer: Michael Orlitzky <michael@orlitzky.com>
+license: AGPL-3.0-or-later
license-file: doc/LICENSE
+homepage: https://michael.orlitzky.com/code/mailbox-count.xhtml
bug-reports: mailto:michael@orlitzky.com
category: Mail, Utils
build-type: Simple
extra-source-files:
+ doc/COPYING
doc/mailbox-countrc.example
doc/man1/mailbox-count.1
test/fixtures/postfixadmin.sqlite3
synopsis:
- Count mailboxes in a SQL database.
+ Count mailboxes in a SQL database
description:
- /Usage/:
- .
- @
- mailbox-count [OPTIONS]
- @
- .
- Mailbox-count produces a simple count of mailboxes that exist
+ mailbox-count produces a simple count of mailboxes that exist
per-domain in some SQL database. The default queries are compatible
- with the schema used by PostfixAdmin <http://postfixadmin.sourceforge.net/>,
- but it is possible to supply your own queries via the @--summary-query@
- and @--detail-query@ options.
- .
+ with the [PostfixAdmin](https://postfixadmin.sourceforge.net/)
+ schema, but it is possible to supply your own queries.
+
The summary report lists each domain, along with the number of
- mailboxes owned by that domain. The order is determined by the summary
- query, which lists the domains alphabetically by default.
- .
- The default detail report shows the same, but also contains a list of
- each individual mailbox (again in alphabetical order) belonging to the
- domains.
- .
- /Input/:
- .
- None.
- .
- /Output/:
- .
- Either a summary, or detailed report (with @--detail@) of the
- number of mailboxes per-domain contained in the database.
- .
- /Options/:
- .
- @
- \--database
- @
- .
- The name of the database (or file, if SQLite) to which we should
- connect.
- .
- Default: The name of the current user (Postgres only).
- .
- @
- \--detail
- @
- .
- Produce a detailed report listing all mailboxes by domain.
- .
- @
- \--detail-query
- @
- .
- SQL query used to produce the detail report. This should return the
- set of all (domain, username) pairs. See the default value for an
- example.
- .
- Default: \"SELECT domain,username FROM mailbox ORDER BY domain;\"
- .
- @
- \--host
- @
- .
- Hostname where the database is located (Postgres-only).
- .
- Default: None, a UNIX domain socket connection is attempted (Postgres only)
- .
- @
- \--password
- @
- .
- Password used to connect to the database (Postgres-only).
- .
- Default: None (assumes passwordless authentication)
- .
- @
- \--port
- @
- Port number used to connect to the database (Postgres-only).
- .
- Default: None, a UNIX domain socket connection is attempted (Postgres only)
- .
- @
- \--summary-query
- @
- .
- SQL query used to produce the summary report. This should return
- (domain, user count) pairs. See the default value for an
- example.
- .
- Default: \"SELECT domain,COUNT(username) FROM mailbox GROUP BY domain
- ORDER BY domain;\"
- .
- @
- \--username
- @
- .
- Username used to connect to the database (Postgres-only).
- .
- Default: The current user
- .
- /Examples/:
- .
- The default summary report:
- .
- @
- $ mailbox-count --database=postfixadmin.sqlite3
- Summary (number of mailboxes per domain)
- \----------------------------------------
- example.com: 3
- example.invalid: 1
- example.net: 2
- example.org: 1
- @
- .
- The more detailed report:
- .
- @
- $ mailbox-count --detail --database=postfixadmin.sqlite3
- Detail (list of all mailboxes by domain)
- \----------------------------------------
- example.com (3):
-   user1
-   user3
-   user5
-
- example.invalid (1):
-   user7
-
- example.net (2):
-   user2
-   user4
-
- example.org (1):
-   user6
- @
+ mailboxes owned by that domain. The order is determined by the
+ summary query, which lists the domains alphabetically by
+ default. The default detail report shows the same, but also contains
+ a list of each individual mailbox (again in alphabetical order)
+ belonging to the domains.
+ A full set of options and examples can be found in the man page.
executable mailbox-count
build-depends:
- base >= 4.6 && < 5,
+ base >= 4.15 && < 5,
cmdargs >= 0.10,
configurator >= 0.2,
containers >= 0.5,
MissingH >= 1.2,
tasty >= 0.8,
tasty-hunit >= 0.8
+
+ default-language:
+ Haskell2010
+
main-is:
Main.hs
Configuration
CommandLine
OptionalConfiguration
- -- WARNING: the Paths_mailbox_count module is automatically generated by
- -- Cabal itself. We don't want it included in the release tarballs,
- -- since we typically want the paths that the user has configured.
- -- Nevertheless, Cabal will complain if we don't include it here.
Paths_mailbox_count
Report
+ autogen-modules:
+ Paths_mailbox_count
test-suite testsuite
type: exitcode-stdio-1.0
hs-source-dirs: src test
+ default-language: Haskell2010
main-is: TestSuite.hs
+
+ other-modules:
+ Configuration
+ OptionalConfiguration
+ Paths_mailbox_count
+ Report
+
+ autogen-modules:
+ Paths_mailbox_count
+
build-depends:
- base >= 4.6 && < 5,
+ base >= 4.15 && < 5,
cmdargs >= 0.10,
configurator >= 0.2,
containers >= 0.5,
directory >= 1.2,
filepath >= 1.3,
HDBC >= 2.4,
- HDBC-postgresql >= 2.3,
HDBC-sqlite3 >= 2.3,
MissingH >= 1.2,
tasty >= 0.8,
tasty-hunit >= 0.8
-
test-suite doctests
type: exitcode-stdio-1.0
hs-source-dirs: test
+ default-language: Haskell2010
main-is: Doctests.hs
build-depends:
- base >= 4.6 && < 5,
+ base >= 4.15 && < 5,
-- Additional test dependencies.
doctest >= 0.9,
filemanip >= 0.3.6
source-repository head
type: git
- location: http://gitweb.michael.orlitzky.com/mailbox-count.git
+ location: https://gitweb.michael.orlitzky.com/mailbox-count.git
branch: master