{"id":15663276,"url":"https://github.com/dimkr/packlim","last_synced_at":"2025-05-06T10:16:30.545Z","repository":{"id":22079432,"uuid":"25408898","full_name":"dimkr/packlim","owner":"dimkr","description":"A small, hackable and secure package manager","archived":false,"fork":false,"pushed_at":"2016-03-05T21:12:50.000Z","size":210,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T01:23:30.230Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rlsd2.dimakrasner.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimkr.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-18T20:15:01.000Z","updated_at":"2024-05-13T04:26:00.000Z","dependencies_parsed_at":"2022-08-19T06:10:29.073Z","dependency_job_id":null,"html_url":"https://github.com/dimkr/packlim","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/dimkr%2Fpacklim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Fpacklim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Fpacklim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Fpacklim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimkr","download_url":"https://codeload.github.com/dimkr/packlim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252663633,"owners_count":21784788,"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-03T13:36:18.640Z","updated_at":"2025-05-06T10:16:30.515Z","avatar_url":"https://github.com/dimkr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"                  _    _ _\n _ __   __ _  ___| | _| (_)_ __ ___\n| '_ \\ / _` |/ __| |/ / | | '_ ` _ \\\n| |_) | (_| | (__|   \u003c| | | | | | | |\n| .__/ \\__,_|\\___|_|\\_\\_|_|_| |_| |_|\n|_|\n\nOverview\n========\n\npacklim is a small, lightweight, hackable and permissively-licensed package\nmanager for Linux (https://www.kernel.org/) distributions.\n\npacklim's performance-critical parts are written in C and the rest (mostly\nlogic and I/O) in written in Tcl, using Jim (http://jim.tcl.tk/). Native code\nprovides speed and parallelism, while exceptions and garbage collection improve\nerror handling and resource efficiency. Also, the use of a scripting language\ngreatly reduces the amount of code.\n\npacklim is the successor to packlad (https://github.com/dimkr/packlad), which\ntries to achieve the same goals using C code alone.\n\nFeatures\n========\n                                             Recursive dependencies resolution\n  # packlim install snownews                            ||\n  [22/12 19:04:00]\u003cinfo \u003e: verifying the package list   \\/\n  [22/12 19:04:00]\u003cinfo \u003e: building the package installation queue\n  [22/12 19:04:00]\u003cwarn \u003e: iana-etc is already installed (!)\n  [22/12 19:04:00]\u003cwarn \u003e: linux-libre-headers is already installed (!)\n  [22/12 19:04:00]\u003cwarn \u003e: musl is already installed (!)\n  [22/12 19:04:00]\u003cwarn \u003e: zlib is already installed (!)\n  [22/12 19:04:00]\u003cinfo \u003e: downloading fuse, libseccomp, libwaive and luufs\n  [22/12 19:04:00]\u003cdebug\u003e: (reading libseccomp-2.2.3.pkg)     /\\\n  [22/12 19:04:00]\u003cinfo \u003e: verifying libseccomp-2.2.3.pkg     ||\n  [22/12 19:04:00]\u003cinfo \u003e: registering libseccomp             ||\n  [22/12 19:04:00]\u003cinfo \u003e: extracting libseccomp-2.2.3.pkg    ||\n  [22/12 19:04:00]\u003cdebug\u003e: (reading libwaive-22122015.pkg)    ||\n  [22/12 19:04:00]\u003cinfo \u003e: verifying libwaive-22122015.pkg    Parallel download\n  [22/12 19:04:00]\u003cinfo \u003e: registering libwaive               of all packages\n  [22/12 19:04:00]\u003cinfo \u003e: extracting libwaive-22122015.pkg   in a dependency\n  [22/12 19:04:00]\u003cdebug\u003e: (reading fuse-2.9.4.pkg)           chain, before it\n  [22/12 19:04:00]\u003cinfo \u003e: verifying fuse-2.9.4.pkg           gets installed\n  [22/12 19:04:00]\u003cinfo \u003e: registering fuse\n  [22/12 19:04:00]\u003cinfo \u003e: extracting fuse-2.9.4.pkg\n  [22/12 19:04:00]\u003cdebug\u003e: (reading luufs-22122015.pkg)\n  [22/12 19:04:00]\u003cinfo \u003e: verifying luufs-22122015.pkg\u003c=====Digitally-signed\n  [22/12 19:04:00]\u003cinfo \u003e: registering luufs                 packages\n  [22/12 19:04:01]\u003cinfo \u003e: extracting luufs-22122015.pkg\n                                  /\\\n                                  ||\n                Support for multiple compression algorithms\n\n  # packlim autoremove luufs\n  [22/12 19:04:07]\u003cinfo \u003e: removing luufs\n  [22/12 19:04:07]\u003cdebug\u003e: (removing unneeded packages)\u003c=====Automatic removal\n  [22/12 19:04:07]\u003cinfo \u003e: removing fuse                     of unneeded\n  [22/12 19:04:07]\u003cinfo \u003e: removing libwaive                 packages\n  [22/12 19:04:07]\u003cinfo \u003e: removing libseccomp\n\nIn addition, packlim:\n  - Supports installation of packages to a prefix other than /\n  - Has a scripting interface\n\nScripting Interface\n===================\n\npacklim allows complex package management tasks, using a Tcl API in the\n\"packlim\" namespace. In addition, it wraps the libraries it depends on with Tcl\ncommands.\n\nFor example:\n  1) To list the packages available in a repository:\n    puts [packlim::available http://repository \"\"]\n\n  2) To remove a package:\n    packlim::remove ca-certificates [packlim::installed]\n\n  3) To list the files contained in a tar archive:\n    tar.list /path/to/tar\n\n  4) To download a file:\n    curl get http://some/file /some/path\n\n  5) To remove all unneeded dependency packages:\n    packlim::cleanup\n\npacklim uses all API internally as well; see its implementation for more usage\nexamples.\n\nMissing Features\n================\n\n  - Support for multiple repositories - packlim is designed for small\n    distributions with one repository per architecture\n  - Support for multiple architectures in one repository\n\nDependencies\n============\n\n  - libarchive (http://libarchive.org/) with support for:\n    - lzip (http://www.nongnu.org/lzip/lzip.html)\n    - XZ (http://tukaani.org/xz/)\n    - gzip (https://www.gnu.org/software/gzip/)\n  - libcurl (http://curl.haxx.se/)\n\nEd25519 (https://github.com/orlp/ed25519) and jimtcl (http://jim.tcl.tk/) are\nembedded into packlim's source code as submodules.\n\nBuilding\n========\n\n  # git clone --recursive https://github.com/dimkr/packlim\n  # cd packlim\n  # make\n  # make install\n\nHacking\n=======\n\npacklim is implemented as jimtcl (http://jim.tcl.tk/) C extensions, Tcl logic\nand a C wrapper for everything.\n\npacklim follows jimtcl's coding style conventions.\n\nCredits and Legal Information\n=============================\n\npacklim is free and unencumbered software released under the terms of the MIT\nlicense; see COPYING for the license text. For a list of its authors and\ncontributors, see AUTHORS.\n\nThe ASCII art logo at the top was made using FIGlet (http://www.figlet.org/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimkr%2Fpacklim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimkr%2Fpacklim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimkr%2Fpacklim/lists"}