{"id":15286570,"url":"https://github.com/tailhook/bulk","last_synced_at":"2025-04-13T03:33:28.676Z","repository":{"id":62438625,"uuid":"48459948","full_name":"tailhook/bulk","owner":"tailhook","description":"A tool that builds packages, updates package repos, and bumps versions","archived":false,"fork":false,"pushed_at":"2024-02-25T07:12:48.000Z","size":177,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-26T20:49:33.793Z","etag":null,"topics":["debian","packaging","rust","versioning"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tailhook.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2015-12-23T00:08:13.000Z","updated_at":"2025-01-13T18:59:04.000Z","dependencies_parsed_at":"2024-10-14T16:50:55.224Z","dependency_job_id":null,"html_url":"https://github.com/tailhook/bulk","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fbulk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fbulk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fbulk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fbulk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tailhook","download_url":"https://codeload.github.com/tailhook/bulk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248395523,"owners_count":21096776,"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":["debian","packaging","rust","versioning"],"created_at":"2024-09-30T15:17:14.939Z","updated_at":"2025-04-13T03:33:28.657Z","avatar_url":"https://github.com/tailhook.png","language":"Rust","readme":"====\nBulk\n====\n\nBulk is a super-simple packaging utility. It's similar to fpm_ but implemented\nin rust.\n\nIt does three things for you:\n\n* Makes directory of files into deb package\n* Maintains a number of repos (stable, testing...) from list of packages\n* Updates your version numbers\n\n.. _fpm: https://github.com/jordansissel/fpm\n\n:Status: Alpha\n\n\nWhy?\n====\n\nDefault packaging tools for debian are too complex. Also I wanted:\n\n1. Simple to install zero-dependency tool (comparing to fpm_)\n2. Experiment a little bit with reproducible packages (i.e. omit timestamps\n   from a package)\n3. Simple utility to maintain (multiple) repositories\n4. Add tiny wrapper around vagga to actually build the packages for all\n   distributions by single command\n\nIt turned out that all functionality I needed from fpm_ could be reimplemented\nin a night, so we have a new tool, ready for the new experiments.\n\n\nLimitations\n===========\n\nBulk should be simple. While we may lift few limitation in future versions we\ndon't aim to support all the features.\n\nLimitations are:\n\n1. No install scripts\n2. All files owned by root and no timestamps\n3. No devices, sockets, empty dirs and other possible habitants of\n   tar/deb archive\n4. Limited support of package metadata (focusing on common between different\n   linux distributions)\n\n\nInstallation\n============\n\nCurrently we provide static binary for x86_64:\n\n    wget http://files.zerogw.com/bulk/bulk-0.4.12.tar.gz\n    tar -xzf bulk-0.4.12.tar.gz -C /\n\nOr you can install it with cargo:\n\n    cargo install bulk\n\nThis will install bulk in ``/usr/bin``. Ubuntu packages will be available\nshortly.\n\n\nHow To Use\n==========\n\nBuild program and install to some directory, say ``pkg``. Put some metadata\ninto ``bulk.yaml``. Then pack it into a debian package::\n\n    bulk pack --config bulk.yaml --dir pkg --dest-dir dist\n\nAnd you will get a package in ``dist`` directory. You may find the example\n``bulk.yaml`` in this repository.\n\n\nBuilding Packages\n=================\n\nJust a few examples on how to prepare things to be packaged. With autotools\nit looks like this::\n\n    ./configure --prefix=/usr\n    make\n    rm -rf pkg\n    make install DESTDIR=$(pwd)/pkg\n    bulk pack --config bulk.yaml --dir pkg --dest-dir dist\n\nOr with new ``cargo install``::\n\n    rm -rf pkg\n    cargo install PACKAGE_NAME --root ./pkg/usr\n    rm pkg/usr/.crates.toml\n    bulk pack --config bulk.yaml --dir pkg --dest-dir dist\n\nThis way you may package crate from crates.io.\n\n\n=======\nLicense\n=======\n\nLicensed under either of\n\n* Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)\n* MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT)\n\nat your option.\n\n------------\nContribution\n------------\n\nUnless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in the work by you, as defined in the Apache-2.0\nlicense, shall be dual licensed as above, without any additional terms or\nconditions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailhook%2Fbulk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftailhook%2Fbulk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailhook%2Fbulk/lists"}