Skip to content

brother-mfc9140cdn: New package#9362

Open
aquilapl wants to merge 1 commit into
getsolus:mainfrom
aquilapl:add-brother-mfc9140cdn
Open

brother-mfc9140cdn: New package#9362
aquilapl wants to merge 1 commit into
getsolus:mainfrom
aquilapl:add-brother-mfc9140cdn

Conversation

@aquilapl

@aquilapl aquilapl commented Jun 20, 2026

Copy link
Copy Markdown

Summary
New package for the Brother MFC-9140CDN printer driver (CUPS wrapper + LPR), built from Brother's official Linux RPM packages. Follows the same structure as the existing brother-mfc9130cw package — Brother's RPMs don't bundle a license file, so license info is only declared in package.yml, same as in brother-mfc9130cw.

Test Plan
Built and installed locally against unstable. I don't have the physical printer to test actual printing, but I checked that:

  • the PPD is installed at /usr/share/cups/model/Brother/
  • the CUPS filter symlinks resolve correctly to /opt/brother/Printers/mfc9140cdn/
  • cupsd restarts cleanly with the package installed, no driver-related errors in the journal

Checklist

  • Package was built and tested against unstable
  • This change could gainfully be listed in the weekly sync notes once merged
  • I agree to license this contribution and all my previous contributions under the licensing terms in LICENSE.md and have the power and authority to grant those licenses.

Add printer driver for Brother MFC-9140CDN.

Provides CUPS wrapper and LPR driver for the Brother MFC-9140CDN
multifunction printer, sourced from Brother's official Linux RPM
packages.

Checklist:
- [x] Package was built and tested against unstable
- [x] I agree to license this contribution and all my previous
  contributions under the licensing terms in LICENSE.md and have
  the power and authority to grant those licenses.
Comment on lines +37 to +39
install -d -m 00755 $installdir/usr/share/cups/model/Brother
install -m 00644 $installdir/opt/brother/Printers/mfc9140cdn/cupswrapper/brother_mfc9140cdn_printer_en.ppd \
$installdir/usr/share/cups/model/Brother/

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This can be combined into a single line:

install -Dm 00644 $installdir/opt/brother/Printers/mfc9140cdn/cupswrapper/brother_mfc9140cdn_printer_en.ppd \
    -t $installdir/usr/share/cups/model/Brother/

Comment on lines +43 to +46
ln -s /opt/brother/Printers/mfc9140cdn/lpd/filtermfc9140cdn \
$installdir/usr/lib/cups/filter/filtermfc9140cdn
ln -s /opt/brother/Printers/mfc9140cdn/cupswrapper/cupswrappermfc9140cdn \
$installdir/usr/lib/cups/filter/cupswrappermfc9140cdn

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A better practice is to use the -srv, or just -sv, if we really want absolute paths in links. The -v options helps in debugging package builds, or just to see what's going on. -r tells it to use relative paths.

ln -srv $installdir/opt/brother/Printers/mfc9140cdn/lpd/filtermfc9140cdn \
    $installdir/usr/lib/cups/filter/filtermfc9140cdn
ln -srv $installdir/opt/brother/Printers/mfc9140cdn/cupswrapper/cupswrappermfc9140cdn \
    $installdir/usr/lib/cups/filter/cupswrappermfc9140cdn

$installdir/usr/lib/cups/filter/filtermfc9140cdn
ln -s /opt/brother/Printers/mfc9140cdn/cupswrapper/cupswrappermfc9140cdn \
$installdir/usr/lib/cups/filter/cupswrappermfc9140cdn
%install_license

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You need to pass a list of files to this macro for it to do anything. Unfortunately, Brother doesn't include any license files in the RPMs.

From my understanding, a future CUPS on the horizon is going to make all of these drivers obsolete, so I guess this problem will solve itself.

Let's just remove the macro call entirely.

Comment on lines +1 to +6
releases:
id: ~ # Check https://release-monitoring.org/projects/search/
rss: ~ # For example https://github.com/PyO3/maturin/releases.atom
# No known CPE, checked 2026-06-20
security:
cpe: ~

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The monitoring.yaml file should look like this for packages that won't ever benefit from it.

# This package will never benefit from a monitoring.yaml please do not attempt to edit any of the fields.
# https://github.com/getsolus/packages/issues/4533
releases:
  id: ~
  rss: ~
security:
  cpe: ~

@malfisya malfisya added the Topic: Sync Notes This PR/Issue can be highlighted in sync notes label Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Topic: Sync Notes This PR/Issue can be highlighted in sync notes

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

3 participants