{"id":13542592,"url":"https://github.com/OneIdentity/Polypkg","last_synced_at":"2025-04-02T10:31:09.018Z","repository":{"id":43398749,"uuid":"21358604","full_name":"OneIdentity/Polypkg","owner":"OneIdentity","description":"Multi-platform software packager for Unix systems","archived":false,"fork":false,"pushed_at":"2024-06-07T18:43:13.000Z","size":413,"stargazers_count":15,"open_issues_count":0,"forks_count":7,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-11-03T08:33:48.598Z","etag":null,"topics":["depot","dpkg","kit","packaging","pkg","rc-quest-com","rpm"],"latest_commit_sha":null,"homepage":"","language":"Kit","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OneIdentity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-06-30T16:52:51.000Z","updated_at":"2024-06-07T18:43:17.000Z","dependencies_parsed_at":"2023-11-16T15:28:35.923Z","dependency_job_id":"4e495af8-ef75-4e32-bd52-e6f221b80e54","html_url":"https://github.com/OneIdentity/Polypkg","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneIdentity%2FPolypkg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneIdentity%2FPolypkg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneIdentity%2FPolypkg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneIdentity%2FPolypkg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OneIdentity","download_url":"https://codeload.github.com/OneIdentity/Polypkg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246796900,"owners_count":20835461,"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":["depot","dpkg","kit","packaging","pkg","rc-quest-com","rpm"],"created_at":"2024-08-01T10:01:12.181Z","updated_at":"2025-04-02T10:31:08.604Z","avatar_url":"https://github.com/OneIdentity.png","language":"Kit","readme":"**One Identity open source projects are supported through [One Identity GitHub issues](https://github.com/OneIdentity/ars-ps/issues) and the [One Identity Community](https://www.oneidentity.com/community/). This includes all scripts, plugins, SDKs, modules, code snippets or other solutions. For assistance with any One Identity GitHub project, please raise a new Issue on the [One Identity GitHub project](https://github.com/OneIdentity/ars-ps/issues) page. You may also visit the [One Identity Community](https://www.oneidentity.com/community/) to ask questions.  Requests for assistance made through official One Identity Support will be referred back to GitHub and the One Identity Community forums where those requests can benefit all users.**\n\n# Polypkg\nA cross-platform packaging tool that attempts to automate package building for Unix/Linux Systems\n\n## Design Goals\n**pp** is a shell script with the following design goals/wish list\n* Easily redistributable with source packages (cf. configure, libtool)\n* Portable across platforms of interest (Linux, AIX, HPUX, Solaris)\n* Uses native platform package management tools (rpm, swinstall, installp, pkgadd)\n* Generates init scripts for services\n* Understands a lowest common denominator subset of 'components'. Components are independent but related packages, and currently include runtime documentation, developer libraries and debugging information\n* Can generates the debug component automatically\n* The input text is conceptually an extension of Bourne Shell (i.e. no new language to learn, yet permits fine-control, uh.. hacks)\n* All symbols start with pp_ to avoid user script conflict\n* Can automatically copy packages into a snapshot distribution area with a sane layout\n* Parameter substitution in post-install/service script fragments\n\n## Supported Package Types\n* IBM AIX (bff)\n* FreeBSD (pkg)\n* Debian (deb)\n* SGI IRIX (inst)\n* HP Tru64 Unix (kit)\n* HP-UX (depot)\n* macOS (pkg)\n* Redhat Package Manager (rpm)\n* Oracle Solaris (pkg)\n\n## Synopsis\n```\nusage: pp [options] [input.pp]\n    -d --debug                  -- write copious info to stderr\n       --destdir=path           -- defaults to $DESTDIR\n    -? --help                   -- display this information\n    -i --install                -- install after packaging\n    -l --list                   -- write package filenames to stdout\n       --no-clean               -- don't remove temporary files\n       --no-package             -- do everything but create packages\n       --only-front             -- only perform front-end actions\n    -p --platform=platform      -- defaults to local platform\n       --wrkdir=path            -- defaults to subdirectory of  or /tmp\n    -v --verbose                -- write info to stderr\n       --version                -- display version and quit\n```\n## Architecture\nAs a shell script, **pp** has a simple design:\n```\n             ------------PolyPkg-----------\nspec file -\u003e front-end -\u003e model -\u003e back-end -\u003e package\n             ------------------------------\n```\n\n### Front end\nThis stage parses the spec file; removes comments, and performs section handling. It either calls into the model on each line of input, or stores section bodies into files to pass to the model later.\n### Model\nThe model stage is just an internal representation of the package: the number of components defined, names of declared services, and also provides a generic view of the file set. The result of this stage is a directory full of well-known file names containing pre-examined/processed filenames, script fragments etc.\n### Back end\nThis is the platform-specific code which takes the collection of script fragment files, fileset lists and generates the output package file(s).\n\n## Examples\n* [sudo](https://github.com/sudo-project/sudo/blob/master/sudo.pp)\n* [DNSUpdate](https://github.com/OneIdentity/dnsupdate/blob/master/dnsupdate.pp)\n\n## See Also\nOther cross-platform packaging tools with similar goals to **pp** include:\n* [pkgutils](http://www.thewrittenword.com/projects/pkgutils/)\n* [ESP Package Manager](https://www.msweet.org/epm/)\n","funding_links":[],"categories":["Kit","others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOneIdentity%2FPolypkg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOneIdentity%2FPolypkg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOneIdentity%2FPolypkg/lists"}