{ "info": { "author": "Brett Smith", "author_email": "bc.smith@sas.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Operating System :: Microsoft :: Windows", "Operating System :: Unix", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "debpkgr\n=======\n\nPure Python implementation of Debian/Ubuntu packaging and repository utilities.\n\nThe allows one to perform various Debian-specific operations on\nnon-Debian systems, in the absence of typical system-provided\nutilities (e.g. apt).\n\nExample\n=======\n\nInspect Package\n---------------\n\n.. code:: python\n\n from debpkgr.debpkg import DebPkg\n\n pkg = DebPkg.from_file('/path/to/foo.deb')\n\n print(pkg.name)\n print(pkg.nevra)\n print(pkg.md5sum)\n print(pkg.package)\n\nCreate Repo\n-----------\n\n.. code:: python\n\n from debpkgr.aptrepo import create_repo\n\n name = 'test_repo_foo'\n arches = ['amd64', 'i386']\n description = 'Apt repository for Test Repo Foo'\n\n files = []\n for root, _, fl in os.walk(temp_dir):\n for f in fl:\n if f.endswith('.deb'):\n files.append(os.path.join(root, f))\n\n repo = create_repo(self.new_repo_dir, files, name=name,\n arches=arches, desc=description)\n\nSignature Support\n-----------------\n\nIt is possible to sign the repository metadata using a wrapper script /\nexecutable around GPG or another GPG-signing facility (like a [Hardware Security Module](https://en.wikipedia.org/wiki/Hardware_security_module).\n\nTo do so, you will need to pass a `SignOptions` object to the lower-level\n`AptRepo` class as the `gpg_sign_options` argument:\n\n.. code:: python\n\n gpg_sign_options = SignOptions(cmd=\"/usr/local/bin/sign.sh\",\n key_id=\"45BA0816\")\n repo = AptRepo(repo_dir, repo_name,\n gpg_sign_options=gpg_sign_options)\n\nThe supplied sign command has to be an executable.\n\nIt will be supplied the path to a `Release` file to be signed, and is\nexpected to produce a file named `Release.gpg` in the same directory as the\n`Release` file.\n\nAdditionally, the sign command will be passed the following environment\nvariables:\n\n* `GPG_CMD`\n* `GPG_KEY_ID` (if specified in the configuration file)\n* `GPG_REPOSITORY_NAME`\n* `GPG_DIST`\n\nThe sign command may decide on a key ID to use, based on the repository name\nor the dist that is being signed.\n\nA minimal sign command using GPG could be:\n\n.. code:: shell\n\n #!/bin/bash -e\n\n KEYID=${GPG_KEY_ID:-45BA0816}\n\n gpg --homedir /var/lib/debpkgr/gpg-home \\\n --detach-sign --default-key $KEYID \\\n --armor --output ${1}.gpg ${1}\n\nYou could import your password-less GPG keys like this:\n\n.. code:: shell\n\n mkdir /var/lib/debpkgr/gpg-home\n chmod 0700 /var/lib/debpkgr/gpg-home\n gpg --homedir /var/lib/debpkgr/gpg-home --import ", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sassoftware/python-debpkgr", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "debpkgr", "package_url": "https://pypi.org/project/debpkgr/", "platform": "", "project_url": "https://pypi.org/project/debpkgr/", "project_urls": { "Homepage": "https://github.com/sassoftware/python-debpkgr" }, "release_url": "https://pypi.org/project/debpkgr/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "Debian/Ubuntu .deb pkg utils", "version": "1.1.0" }, "last_serial": 4097146, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "8e1be10ddf6a12de5e46167d06c0e1ad", "sha256": "2269c23301bb6655b8e90ccd490abb45a04e175df75da01dc4577351efc69607" }, "downloads": -1, "filename": "debpkgr-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "8e1be10ddf6a12de5e46167d06c0e1ad", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21779, "upload_time": "2017-04-14T20:19:24", "url": "https://files.pythonhosted.org/packages/36/00/58f8f19da1ff8d7b3a4a3c4fb5f94b3c0c9fca17f5dbc5487c5d22d50020/debpkgr-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "affbe8a96c888ce51201d8b0713fee78", "sha256": "e11654c32cb7ae051e1682c403a291358eacb758a0c7119490ea4efb94d3a691" }, "downloads": -1, "filename": "debpkgr-1.0.1.tar.gz", "has_sig": false, "md5_digest": "affbe8a96c888ce51201d8b0713fee78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46598, "upload_time": "2017-04-14T20:10:09", "url": "https://files.pythonhosted.org/packages/3b/d3/1029963d5dd7806a10091b5edd5b42c8f9ee6d4dbf5eb42cce00f500527b/debpkgr-1.0.1.tar.gz" } ], "1.0.1.dev1": [ { "comment_text": "", "digests": { "md5": "a4b173d9140e79984181d988419da8ad", "sha256": "dfbc5b69425580848052db33b5ba9855f594689c9567316bc8f7e0294a546979" }, "downloads": -1, "filename": "debpkgr-1.0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "a4b173d9140e79984181d988419da8ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46618, "upload_time": "2017-04-14T20:08:16", "url": "https://files.pythonhosted.org/packages/d0/53/88707913bd0b46570a34818005b5730fa1d59b8506d7249feb0cb9df9635/debpkgr-1.0.1.dev1.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "34b60f3b82cf2a481838b0a44c0d2c98", "sha256": "5bc178b0982bf29c6888fc3c397a407db1bfe63061a4bce7d7f81df60673924f" }, "downloads": -1, "filename": "debpkgr-1.0.3.tar.gz", "has_sig": false, "md5_digest": "34b60f3b82cf2a481838b0a44c0d2c98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47717, "upload_time": "2017-07-17T20:24:59", "url": "https://files.pythonhosted.org/packages/44/50/40672dc9661622409553f75f062f20f017d3df37450e6a6904445c5f12cc/debpkgr-1.0.3.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "eca55a558e324984beb95a430233de87", "sha256": "542e84b8c8f55b975af002dd4786ef0367320dd11d3a7869c7f22591881aed16" }, "downloads": -1, "filename": "debpkgr-1.0.5.tar.gz", "has_sig": false, "md5_digest": "eca55a558e324984beb95a430233de87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48879, "upload_time": "2018-02-09T15:30:47", "url": "https://files.pythonhosted.org/packages/83/b1/d4c74d8abca6710e10f8fbbe6d1494a1d08d00bb47a29f8054185f392568/debpkgr-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7b696ea21c8508e9be58c0da355f17c2", "sha256": "6ec8531332464aee52048f0669e6bdaf186823408199909a1fefb3d34120906e" }, "downloads": -1, "filename": "debpkgr-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7b696ea21c8508e9be58c0da355f17c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53613, "upload_time": "2018-07-24T13:57:34", "url": "https://files.pythonhosted.org/packages/72/62/8787cd98e2251c0e1cd9d8e9132c3d4c5b19e71745f5af30e2238571916e/debpkgr-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7b696ea21c8508e9be58c0da355f17c2", "sha256": "6ec8531332464aee52048f0669e6bdaf186823408199909a1fefb3d34120906e" }, "downloads": -1, "filename": "debpkgr-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7b696ea21c8508e9be58c0da355f17c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53613, "upload_time": "2018-07-24T13:57:34", "url": "https://files.pythonhosted.org/packages/72/62/8787cd98e2251c0e1cd9d8e9132c3d4c5b19e71745f5af30e2238571916e/debpkgr-1.1.0.tar.gz" } ] }