{"id":17336375,"url":"https://github.com/jasonyangshadow/porg","last_synced_at":"2025-10-07T10:25:11.045Z","repository":{"id":70083333,"uuid":"109222666","full_name":"JasonYangShadow/porg","owner":"JasonYangShadow","description":"A modified version of porg, which is a source code management tool","archived":false,"fork":false,"pushed_at":"2017-11-02T14:12:27.000Z","size":2216,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T12:28:30.682Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"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/JasonYangShadow.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-02T05:46:02.000Z","updated_at":"2017-11-02T05:47:42.000Z","dependencies_parsed_at":"2023-03-01T17:45:49.038Z","dependency_job_id":null,"html_url":"https://github.com/JasonYangShadow/porg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonYangShadow%2Fporg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonYangShadow%2Fporg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonYangShadow%2Fporg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonYangShadow%2Fporg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JasonYangShadow","download_url":"https://codeload.github.com/JasonYangShadow/porg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245800199,"owners_count":20674254,"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":"2024-10-15T15:29:48.530Z","updated_at":"2025-10-07T10:25:10.967Z","avatar_url":"https://github.com/JasonYangShadow.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[p*org]\n\n\n* What's porg? *\n\nPorg (formerly known as paco), is a program to aid management of software\npackages installed from source code.\n\nAfter the installation of such packages, one is usually left with having no\nidea of what it was installed and where it all went, making it difficult to\nuninstall the package in the future. Porg was written to solve this problem in\na quite simple fashion.\n\nWhen installing a package from sources, porg wraps the install command (e.g.\n\"make install\"), and saves installation information into a text database.\n\nThe following sequence of commands exemplify a typical installation of a\npackage named foo-1.3:\n\n    $ tar xvf foo-1.3.tar.gz\n    $ cd foo-1.3\n    $ ./configure\n    $ make\n    $ sudo porg -lp foo-1.3 \"make install\"\n\nAfter the above commands, and provided that everything went fine, the program\nfoo-1.3 will be installed into the system, and registered into the porg\ndatabase. One can check it by simply typing the following command, which would\nlist the files installed by the package:\n\n    $ porg -f foo-1.3\n\nPorg also provides options for listing packages, sizes, file counts, removing\npackages or printing package information.\n\n\n* Changes from the last version of paco *\n\n    * Disabled the options for removing shared files when uninstalling a\n      package, both in porg and grop. Now shared files are never removed, as it\n      ougth to be.\n    * Disabled listing of shared files.\n    * Simplification of the GUI.\n    * Simplification of the package database. No need to update it anymore.\n    * Major code enhancements and cleanup.\n    * Additionally, all changes documented in the Changelog.\n\nPaco users can import old paco logs into the porg database with the script\npaco2porg included in the porg distribution.\n\n\n* Technichal details *\n\nTo keep track of the files installed by the packages, porg loads a shared\nlibrary before installation by using the environment variable LD_PRELOAD (or\nDYLD_INSERT_LIBRARIES in MacOS). During the installation, this library catches\nthe system calls that cause filesystem alterations (like open, link, rename,\n...), and logs the created files into a text file.\n\nSince the preloaded library is used only by the specific installation process,\nthe created logs are not contaminated with files created by any other process.\nThus porg can be used to track parallel installations.\n\nPlease note that porg does not work on systems in which the executables\ninvolved in the installation of the packages (mv, cp, install...) are\nstatically linked against libc, like FreeBSD and OpenBSD.\n\n\n* Grop *\n\nGrop is the graphic interface of porg. It uses and depends on the GTKMM library\n(version 3.4.0 or later). It's not meant to be a replacement of porg, since it\nlacks some important features like logging package installations, but it allows\nfor manipulating the installed packages in a more comfortable way.\n\nGrop is installed by default, unless option \"--disable-grop\" is pased to\nconfigure.\n\n\n* Auxiliary scripts *\n\nThe porg distribution provides the following auxiliary scripts:\n\n    * paco2porg\n\n      A shell script that imports paco logs into the porg database.\n\n    * porgball\n\n      A shell script that creates binary tarballs (or \"porgballs\") from\n      packages that are logged in the porg database. It can be used also to\n      reinstall packages by extracting the files from previously created\n      porgballs.\n\n    * porg_bash_completion\n\n      This file, written by Christian Schneider, provides bash completion\n      support for porg, in systems that have programmable bash completion\n      enabled.\n\n\n* License *\n\nCopyright © 2016 David Ricart.\nPorg is protected by the GNU General Public License.\nLook at the COPYING file for more details.\n\n\n* Authors *\n\nThe creator and maintainer of porg is David Ricart \u003cicnelis@*\u003e (where *\n= gmail.com).\n\nI'd like to thank all the males that have contributed to the development of\nporg. A complete list of them can be found in the AUTHORS file.\n\n\n===============================================================================\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonyangshadow%2Fporg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasonyangshadow%2Fporg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonyangshadow%2Fporg/lists"}