Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

exim: add subpackages, for lookups, scripts and utils. #30647

Merged

Conversation

patdowney
Copy link
Contributor

@patdowney patdowney commented Oct 11, 2024

This PR adds sub-packages that are present in the alpine package (https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/exim/APKBUILD) that weren't in the Wolfi package. Specifically it adds sub-packages for lookups (postgres, mysql and others) as well as packaging the exim-utils and exim-scripts too.
Additionally, as also present in the alpine package, it adds a pre-install script to configure the exim user upon package installation.

Fixes:

Pre-review Checklist

For new package PRs only

  • This PR is marked as fixing a pre-existing package request bug
    • Alternatively, the PR is marked as related to a pre-existing package request bug, such as a dependency
  • REQUIRED - The package is available under an OSI-approved or FSF-approved license
  • REQUIRED - The version of the package is still receiving security updates
  • This PR links to the upstream project's support policy (e.g. endoflife.date)

@patdowney patdowney force-pushed the feat/exim-lookups-subpackages branch from cffba65 to d13eb05 Compare October 13, 2024 19:55
@willdeane
Copy link

I've done some testing of this update as it fixes the issue I raised in #29568. I can confirm that the pgsql package works as expected. I've also checked that if you install the other lookup packages Exim does detect and load them on start-up, although I've not done any actual testing for the other lookup types:

/ # /usr/sbin/exim -bdf -d
Exim version 4.98 uid=0 gid=0 pid=104 D=f7715cfd
Support for: Content_Scanning crypteq Expand_dlfunc IPv6 move_frozen_messages OpenSSL TLS_resume DANE DKIM DNSSEC ESMTP_Limits ESMTP_Wellknown Event OCSP PIPECONNECT PRDR PROXY Queue_Ramp SPF TCP_Fast_Open
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch dsearch passwd
Authenticators: cram_md5 dovecot plaintext spa tls
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect
Transports: appendfile/maildir autoreply lmtp pipe smtp
Malware: f-protd f-prot6d drweb aveserver fsecure kavdaemon sophie clamd mksd avast sock cmdline
Fixed never_users: 0
Configure owner: 0:0
Size of off_t: 8
Compiler: GCC [14.2.0]
Library version: Glibc: Compile: 2.40
                        Runtime: 2.40
Hints DB:
 Using tdb
Library version: OpenSSL: Compile: OpenSSL 3.3.2 3 Sep 2024
                          Runtime: OpenSSL 3.3.2 3 Sep 2024
                                 : built on: Tue Sep  3 16:14:00 2024 UTC
Library version: spf2: Compile: 1.2.11
                       Runtime: 1.2.11
Library version: PCRE2: Compile: 10.44
                        Runtime: 10.44 2024-06-07
Loading lookup modules from /usr/lib/exim/
Loaded "mysql.so" (1 lookup types)
Loaded "dnsdb.so" (1 lookup types)
Loaded "cdb.so" (1 lookup types)
Loaded "sqlite.so" (1 lookup types)
Loaded "dbmdb.so" (3 lookup types)
Loaded "pgsql.so" (1 lookup types)
Loaded 6 lookup modules
Total 16 lookups
Library version: CDB: Exim version 4.98
Library version: DBM: Exim version 4.98
Library version: DNSDB: Exim version 4.98
Library version: MySQL: Compile: 100808 10.8.8 [mariadb-10.8]
                        Runtime: 30401 3.4.1
                        Exim version 4.98
Library version: PostgreSQL: Exim version 4.98
Library version: SQLite: Compile: 3.45.1
                         Runtime: 3.45.1
                         Exim version 4.98

The pre-installs script to add the exim user and the addition of the Exim utility scripts are also very useful improvements.

@patdowney patdowney force-pushed the feat/exim-lookups-subpackages branch from d13eb05 to 84d6e7c Compare October 18, 2024 08:16
@patdowney patdowney marked this pull request as ready for review October 18, 2024 08:25
Copy link

@willdeane willdeane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per my comments earlier #30647 (comment) I've done some testing of this and can confirm that this change fixes issue #29568 and adds improvements to add the exim user and the exim untils

Copy link
Member

@justinvreeland justinvreeland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At a first pass this all looks good except we'd rather not add new scriptlets. Would you mind removing the scriptlet that adds the user and groups.

@willdeane
Copy link

The scriptlet to add the user is useful, at present Exim on wolfi won't start after install with first manually adding the user and group details, ideally installing the package would do the minimum setup needed for the service to run. There are other wolfi packages that have scriptlets with pre-install scripts, including postfix, which also setups users/groups and audit which setups required directories.

@patdowney
Copy link
Contributor Author

Sorry, have been away. Let me do some research into how the apko process injects users for images (like it does for nginx and envoy) and integrate how that behaves into the exim build configuration

@patdowney patdowney force-pushed the feat/exim-lookups-subpackages branch from 84d6e7c to b24462a Compare November 8, 2024 13:33
@patdowney
Copy link
Contributor Author

@justinvreeland - I've rebased / force-pushed to get rid of the extraneous commits to do with adding/removing the scriptlet. Unfortunately this means I can't resolve your requested change as the commit has disappeared, however I have removed the scriptlet since becoming more familiar with how apko makes use of these packages.

@justinvreeland justinvreeland added approved-to-run A repo member has approved this external contribution and removed approved-to-run A repo member has approved this external contribution labels Nov 12, 2024
@justinvreeland justinvreeland merged commit 55b4071 into wolfi-dev:main Nov 14, 2024
14 checks passed
@patdowney patdowney deleted the feat/exim-lookups-subpackages branch November 14, 2024 23:36
dannf pushed a commit to dannf/os that referenced this pull request Nov 15, 2024
This PR adds sub-packages that are present in the alpine package
(https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/exim/APKBUILD)
that weren't in the Wolfi package. Specifically it adds sub-packages for
lookups (postgres, mysql and others) as well as packaging the
`exim-utils` and `exim-scripts` too.
Additionally, as also present in the alpine package, it adds a
pre-install script to configure the `exim` user upon package
installation.


Fixes:
* wolfi-dev#29568
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants