X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mailbox-count.cabal;h=5ca9b541af99bd2844c2c882c07c6763ceb1ceed;hb=HEAD;hp=cf30c2ec67e88a8a6d24a6324d5f41fff30fd482;hpb=97ebddac485e448f0497f8bccab680e84cd26d8c;p=mailbox-count.git diff --git a/mailbox-count.cabal b/mailbox-count.cabal index cf30c2e..5ca9b54 100644 --- a/mailbox-count.cabal +++ b/mailbox-count.cabal @@ -1,159 +1,40 @@ +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 -license: AGPL-3 +maintainer: Michael Orlitzky +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 , - 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, @@ -165,6 +46,10 @@ executable mailbox-count MissingH >= 1.2, tasty >= 0.8, tasty-hunit >= 0.8 + + default-language: + Haskell2010 + main-is: Main.hs @@ -175,40 +60,48 @@ executable mailbox-count 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 @@ -217,5 +110,5 @@ test-suite doctests 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