{"id":24443758,"url":"https://github.com/endlessm/eos-config-printer","last_synced_at":"2025-10-29T23:08:31.708Z","repository":{"id":27243225,"uuid":"30715247","full_name":"endlessm/eos-config-printer","owner":"endlessm","description":"D-Bus service for installing printer drivers","archived":false,"fork":false,"pushed_at":"2022-03-21T21:39:28.000Z","size":49,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-01-20T22:17:16.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/endlessm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-12T17:48:23.000Z","updated_at":"2021-03-04T13:32:19.000Z","dependencies_parsed_at":"2022-07-25T17:20:07.575Z","dependency_job_id":null,"html_url":"https://github.com/endlessm/eos-config-printer","commit_stats":null,"previous_names":[],"tags_count":134,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-config-printer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-config-printer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-config-printer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-config-printer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/endlessm","download_url":"https://codeload.github.com/endlessm/eos-config-printer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243515565,"owners_count":20303258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-20T22:17:21.214Z","updated_at":"2025-10-29T23:08:31.647Z","avatar_url":"https://github.com/endlessm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eos-config-printer\nD-Bus service for installing printer drivers\n\n## Description\n\neos-config-service provides a D-Bus activatable service to install\nprinter drivers in EOS providing the type of driver (an integer)\nand a variable dictionary of string arguments (depending on the type).\n\nAt the moment, only drivers coming from OpenPrinting.org and packaged\nas debian files are supported, so the required parameters to install\nthose will be the following ones:\n\n  * Type, always set to 1 for now (meaning 'OpenPrinting drivers')\n  * A dictionary of two string elements maximum, indexed by string keys:\n    * 'uri' (required): the URI to download the package\n    * 'fingerprint' (optional): GPG public key used to sign the APT\n      repository the package will be downloaded from. If present,\n      the package from 'uri' will be validated before installing it.\n\nThe InstallDriver service will receive those parameters and, after\nchecking that the needed Polkit policies are satisfied for the current\nuser (should belong to 'lpadmin' group), will proceed with the\nverification and installation of the printer driver.\n\nThere are 7 different stages:\n\n  1. Download the .deb package pointed by URI to a temporary location\n  2. Validate the package with the GPG-based signature, if needed\n  3. Extract the contents of the .deb package to a temporary location\n  4. Move the extracted files to their intented location, under '/opt'\n  5. Create the symlinks from '/var/lib/cups/ppd/eos-config-printer/',\n     pointing to '/opt/\u003cdriver-package\u003e/', so that CUPS can find them\n  6. On succesful completion, notify the calling process passing a\n     list of the absolute paths to the installed PPD files\n  7. On error, report the error via a GError with a descriptive message\n\nLast, a symlink pointing from '/usr/share/ppd/eos-config-printer/' to\n'/var/lib/cups/ppd/eos-config-printer/' is required for CUPS to be\nable to find the installed PPD files without requiring additional\nconfiguration. In EOS, we create this symlink as part of the\ninstallation of the CUPS package, but\n\n## License\n\neos-config-printer is Copyright (C) 2015 Endless Mobile, Inc. and\nis licensed under the terms of the GNU General Public License as\npublished by the Free Software Foundation; either version 2 of\nthe License, or (at your option) any later version.\n\nAdditionally, the following components from system-config-printer,\nlicensed under the same license GNU General Public License with\nCopyright (C) 2006 - 2015 Red Hat, Inc., were reused:\n  * debug.py is Copyright (C) 2008, 2010 Red Hat, Inc.\n  * killtimer.py is Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat, Inc.\n\nSee the COPYING file for the full version of the GNU GPLv2 license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendlessm%2Feos-config-printer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fendlessm%2Feos-config-printer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendlessm%2Feos-config-printer/lists"}