{ "info": { "author": "Genymobile", "author_email": "opensource@genymobile.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Topic :: Software Development :: Build Tools" ], "description": "# copydeps\n\n## Introduction\n\ncopydeps is a tool to analyze and copy the dependencies of ELF binaries, as\nused on Linux and other UNIX systems. It is useful to create light,\nself-contained installers.\n\nIt works on both executables and libraries.\n\n## Requirements\n\n- A Linux system (copydeps might work on BSD systems, but this has not been\n tested)\n- Python 3\n- [pyelftools](https://github.com/eliben/pyelftools)\n- ldd\n\n## Installation\n\nInstall with `./setup.py install` or just run `copydeps.py` from the source\ntree.\n\n## Usage\n\n### Copying dependencies\n\nAssuming you want to copy all dependencies of the `foo` binary to the current\ndirectory, run:\n\n copydeps /path/to/foo -d .\n\nThe list probably includes way too many libraries you can assume to be\ninstalled on the destination system. To tell copydeps to ignore them, create a\nblacklist file (you can have a look at `blacklist.sample` for inspiration) and\nrun it like this:\n\n copydeps --exclude your/blacklist /path/to/foo -d .\n\n### Analyzing dependencies\n\nYou can tell copydeps to generate a dependency diagram using the `--dot`\noption. If you just want to look at the dependency diagram, add the\n`--dry-run` option to prevent copying:\n\n copydeps --exclude your/blacklist /path/to/foo --dry-run --dot foo.dot\n\nYou can now view the diagram using any Graphviz viewer, such as [xdot][].\n\nAs an example, here is the dependency diagram of Qt5QuickControls2:\n\n[![Qt5QuickControls2 dependencies](screenshot/screenshot-small.png)](screenshot/screenshot.png)\n\n[xdot]: https://github.com/jrfonseca/xdot.py\n\n## Limitations\n\ncopydeps does not detect libraries loaded with `dlopen()`.", "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/genymobile/copydeps", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "copydeps", "package_url": "https://pypi.org/project/copydeps/", "platform": "Linux", "project_url": "https://pypi.org/project/copydeps/", "project_urls": { "Homepage": "https://github.com/genymobile/copydeps" }, "release_url": "https://pypi.org/project/copydeps/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "Copy dependencies required by a Linux executable.", "version": "1.1.0" }, "last_serial": 4816052, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "be0167032151bbc40bac4b03d9b218d8", "sha256": "8866d41abc72b32d8059d5c2de593e7d513d363c5c37685b6bdc2355a51588f1" }, "downloads": -1, "filename": "copydeps-1.1.0.zip", "has_sig": false, "md5_digest": "be0167032151bbc40bac4b03d9b218d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8053, "upload_time": "2019-02-13T14:44:15", "url": "https://files.pythonhosted.org/packages/ff/fd/625fa152bee2ae57822bc384ff4b60f28ca689ff65469ccb45ffeb1fcf59/copydeps-1.1.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be0167032151bbc40bac4b03d9b218d8", "sha256": "8866d41abc72b32d8059d5c2de593e7d513d363c5c37685b6bdc2355a51588f1" }, "downloads": -1, "filename": "copydeps-1.1.0.zip", "has_sig": false, "md5_digest": "be0167032151bbc40bac4b03d9b218d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8053, "upload_time": "2019-02-13T14:44:15", "url": "https://files.pythonhosted.org/packages/ff/fd/625fa152bee2ae57822bc384ff4b60f28ca689ff65469ccb45ffeb1fcf59/copydeps-1.1.0.zip" } ] }