{ "info": { "author": "Jackie Tung", "author_email": "jackie.tung@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3" ], "description": "# LZDeb - build Debian packages the lazy way\n\nWant to install something from a debian / apt package but prebuilt packages don't exist?\n\n_Build your own, the easy (and lazy) way!_\n\n### Usage\n\nRun (/d is a directory):\n```bash\n$ lzdeb build /d\n```\n\nCollect the resulting debian package file in your working directory.\n\n\n```bash\n$ lzdeb build /d\n...\n$ ls *.deb\n```\n\n#### Directory `/d` should contain these files:\n1. `/d/config.yml`\n1. (optional) `/d/build`\n1. `/d/install`\n1. (optional) `/d/validate`\n\n#### Example: `examples/silversearcher-ag`\n\nCreate a debian package for [the silver searcher](https://github.com/ggreer/the_silver_searcher.git).\n\n##### `lzdeb.yml`\n```yaml\nbuilder:\n image: ubuntu:16.04\n bootstrap_cmds:\n - apt update\n - apt install -y git\nvalidator:\n image: ubuntu:18.04\n bootstrap_cmds:\n - apt update\nsource:\n type: git\n url: https://github.com/ggreer/the_silver_searcher.git\n ref: 2.2.0\n pull_submodules: yes\ndeb_info:\n pkgname: silversearcher-ag\n pkgversion: 2.2.0\n pkgrelease: 1\n pkglicense: Apache 2.0\n pkggroup: main\n maintainer: example@lzdeb.invalid\n description: \"A code-searching tool similar to ack, but faster. http://geoff.greer.fm/ag/\"\n requires:\n - liblzma-dev>=5.1.1\n - libpcre3-dev>=2:8.38\n - zlib1g-dev>=1:1.2.8\n```\n\n`builder` defines the docker container within which the deb package is built.\n\n`validator` defines the docker container within which the built deb is validated (install the package, may be some test commands)\n\n`source` defines where to get the source code to be built.\n\n`deb_info` defines debian package metadata to be used when creating the debian package.\n\n##### 1. `build`\n\nInstall build tools and required libraries. Build (compile) the code.\n```bash\n#!/usr/bin/env bash\n\nset -e\n\napt-get update\napt-get install -y \\\n automake \\\n pkg-config \\\n libpcre3-dev \\\n zlib1g-dev \\\n liblzma-dev\n\ncd the_silver_searcher*/\n./build.sh\n```\n\n##### 2. `install`\n\nPerform a \"make install\". A debian package is built automatically based on filesystem changes.\n```bash\n#!/usr/bin/env bash\n\nset -e\n\ncd the_silver_searcher*/\nmake install\n```\n\n##### 3. `validate`\n\nTry installing the built debian package. Verify program runs.\n```bash\n#!/usr/bin/env bash\n\nset -e\n\napt install -y ./*.deb\nag -h\n```\n\n##### Tying it all together\n```bash\n$ lzdeb build example/silversearcher-ag\n... spin up build container\n...\n... build script gets run\n...\n... install script gets run (deb package file created)\n...\n... validate script gets run (deb package file gets installed in fresh container)\n...\n$ ls *.deb\nsilversearcher-ag_2.2.0-1_amd64.deb\n```\n\n### Installation\n\n1. [Install Python 3](https://docs.python-guide.org/starting/installation/)\n1. [Install Docker](https://docs.docker.com/install/)\n1. [Install the pip package](https://pip.pypa.io/en/stable/):\n```bash\n$ pip3 install lzdeb\n```\n\nTested on MacOS. Probably works on Linux as well.\n\n### Caveats\n\nThere are many!\n\nWe will populate this section with the most important ones, as users report them.\n\n### How To Contribute\n\n* Fork the repo.\n* In a [virtualenv](https://virtualenv.pypa.io/en/latest/#):\n * `pip3 install -r requirements.txt`\n * `pip3 install -r .circleci/test_requirements`\n* _Hack Away!_\n* Testing:\n * New unit tests to go in `test/`\n * If you have [CircleCI](https://circleci.com) access, make sure the `test_all` workflow passes.\n * Otherwise, you could run tests locally (see `.circleci/config.yml`):\n * unit tests: `py.test --cov=lzdeb test/`\n * lint: `pylint -E lzdeb test`\n * pep8: `pycodestyle lzdeb test`\n * type hint checking: `mypy lzdeb test`\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mkjt2/lzdeb", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "lzdeb", "package_url": "https://pypi.org/project/lzdeb/", "platform": "", "project_url": "https://pypi.org/project/lzdeb/", "project_urls": { "Homepage": "https://github.com/mkjt2/lzdeb" }, "release_url": "https://pypi.org/project/lzdeb/0.1.3.1/", "requires_dist": [ "PyYAML", "docker" ], "requires_python": "", "summary": "LzDeb - Build debian packages the lazy way", "version": "0.1.3.1" }, "last_serial": 5245517, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "eaa2e2996b10ab44137528654f845a45", "sha256": "0f92992d5251132094f072e6a5ad2715a9846b3ce6265e50381d045bf69af46d" }, "downloads": -1, "filename": "lzdeb-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eaa2e2996b10ab44137528654f845a45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7644, "upload_time": "2019-05-07T04:18:35", "url": "https://files.pythonhosted.org/packages/f3/02/86f17c4a39b18a2db76045e00817c5eabec6bce0c4505075e746a4741a3f/lzdeb-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd46639d6cd0a085fe531237c3c81e03", "sha256": "20e9f06406ad14b85c615d353903cc8bf2b60884f1c477a0f1319fde174e8416" }, "downloads": -1, "filename": "lzdeb-0.1.1.tar.gz", "has_sig": false, "md5_digest": "dd46639d6cd0a085fe531237c3c81e03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6569, "upload_time": "2019-05-07T04:18:37", "url": "https://files.pythonhosted.org/packages/99/01/b0561db5b99086309c558f51c84a6df83655588aafdb1e5cb2cba2d2ef5b/lzdeb-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5af6c55ce41c88aeec6014a208ea2dda", "sha256": "e1738991fbb75742803e62d4745bb4d5a07b7001d21105822a61ec0630289526" }, "downloads": -1, "filename": "lzdeb-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5af6c55ce41c88aeec6014a208ea2dda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7637, "upload_time": "2019-05-07T04:30:55", "url": "https://files.pythonhosted.org/packages/ee/d9/f2bd715216cad9fddcbc95575707272c76c9723b86ccb125d9a91c1eed63/lzdeb-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "941d7bc09581d33f40079427f8c8664f", "sha256": "e8b9fc220a6d8052262ed3d590514b17f14df0ba02550fe48a1b958906f24507" }, "downloads": -1, "filename": "lzdeb-0.1.2.tar.gz", "has_sig": false, "md5_digest": "941d7bc09581d33f40079427f8c8664f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6554, "upload_time": "2019-05-07T04:30:56", "url": "https://files.pythonhosted.org/packages/15/09/d3f61838a7df3c6e769fb2631b11369a24f8a7cbcfe0a5656b759603d6cf/lzdeb-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "618bbba5083c2c5e9e88867e2310e81d", "sha256": "4c0a8571345c88f354fa38ace8555b171d197735583e30c2823d72d7ee139818" }, "downloads": -1, "filename": "lzdeb-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "618bbba5083c2c5e9e88867e2310e81d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9535, "upload_time": "2019-05-09T03:01:03", "url": "https://files.pythonhosted.org/packages/3b/19/6d65d1f4392470785ffb937f5c1b70da7890422cfd74538a79317a726c4f/lzdeb-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80728339b61296160384d9f744e07118", "sha256": "82c805b60b9d51377761cb44889d3c4f7b55a0dda7aad449ed02ad993b014b86" }, "downloads": -1, "filename": "lzdeb-0.1.3.tar.gz", "has_sig": false, "md5_digest": "80728339b61296160384d9f744e07118", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9431, "upload_time": "2019-05-09T03:01:05", "url": "https://files.pythonhosted.org/packages/f5/61/6de55173f0e69a2f67381bca5a27c07db3c3701aa41d7b5a660ef123196f/lzdeb-0.1.3.tar.gz" } ], "0.1.3.1": [ { "comment_text": "", "digests": { "md5": "732f9968894580e2c902766b96147183", "sha256": "7eacce7e5bc79fb78e935137227a988c5ae544bf9d260df2937d815e2824716f" }, "downloads": -1, "filename": "lzdeb-0.1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "732f9968894580e2c902766b96147183", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9568, "upload_time": "2019-05-09T03:04:49", "url": "https://files.pythonhosted.org/packages/84/ec/ff514c4aef36a914efb023776bef6efba54f9567bc8e0e71f3816f88239e/lzdeb-0.1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0291ef4d4d9998ce43a673a7d33ebcd9", "sha256": "d251fc1baefd21d64f2311533dc6b434130b3c20f7568eea0f55705bc2f6e81d" }, "downloads": -1, "filename": "lzdeb-0.1.3.1.tar.gz", "has_sig": false, "md5_digest": "0291ef4d4d9998ce43a673a7d33ebcd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9431, "upload_time": "2019-05-09T03:04:52", "url": "https://files.pythonhosted.org/packages/35/e8/924c03aeb604a3617069994a2f9b36cf583ce7b7812543fe6cbe796a37f5/lzdeb-0.1.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "732f9968894580e2c902766b96147183", "sha256": "7eacce7e5bc79fb78e935137227a988c5ae544bf9d260df2937d815e2824716f" }, "downloads": -1, "filename": "lzdeb-0.1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "732f9968894580e2c902766b96147183", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9568, "upload_time": "2019-05-09T03:04:49", "url": "https://files.pythonhosted.org/packages/84/ec/ff514c4aef36a914efb023776bef6efba54f9567bc8e0e71f3816f88239e/lzdeb-0.1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0291ef4d4d9998ce43a673a7d33ebcd9", "sha256": "d251fc1baefd21d64f2311533dc6b434130b3c20f7568eea0f55705bc2f6e81d" }, "downloads": -1, "filename": "lzdeb-0.1.3.1.tar.gz", "has_sig": false, "md5_digest": "0291ef4d4d9998ce43a673a7d33ebcd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9431, "upload_time": "2019-05-09T03:04:52", "url": "https://files.pythonhosted.org/packages/35/e8/924c03aeb604a3617069994a2f9b36cf583ce7b7812543fe6cbe796a37f5/lzdeb-0.1.3.1.tar.gz" } ] }