{"id":15690087,"url":"https://github.com/dimkr/roar-ng","last_synced_at":"2025-05-07T23:23:19.552Z","repository":{"id":2560954,"uuid":"3540114","full_name":"dimkr/roar-ng","owner":"dimkr","description":"Generic build system for GNU/Linux distributions; orphaned","archived":false,"fork":false,"pushed_at":"2012-10-20T10:44:43.000Z","size":727,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T15:11:34.770Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","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":"2012-02-24T21:55:15.000Z","updated_at":"2024-01-24T12:08:03.000Z","dependencies_parsed_at":"2022-08-25T16:02:10.363Z","dependency_job_id":null,"html_url":"https://github.com/dimkr/roar-ng","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%2Froar-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Froar-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Froar-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Froar-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimkr","download_url":"https://codeload.github.com/dimkr/roar-ng/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252969061,"owners_count":21833404,"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-03T18:07:14.967Z","updated_at":"2025-05-07T23:23:19.532Z","avatar_url":"https://github.com/dimkr.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":" _ __ ___   __ _ _ __   ______   _ __   __ _\n| '__/ _ \\ / _` | '__| |______| | '_ \\ / _` |\n| | | (_) | (_| | |             | | | | (_| |\n|_|  \\___/ \\__,_|_|             |_| |_|\\__, |\n                                        __/ |\n                                       |___/\n\nroar-ng is deprecated; roar-ng II is the future ... and it's here.\nSee https://github.com/iguleder/roar-ng-ii.\n\n############\n# Overview #\n############\n\nroar-ng is a generic GNU/Linux distribution building system.\n\nIt provides an architecture-independent, flexible and portable infrastructure\nfor the creation of fast and portable GNU/Linux distributions. It provides\nsupport for the binary package format and repositories of various GNU/Linux\ndistributions.\n\nThe development of roar-ng started as a collection of source hacks of Woof (the\nPuppy Linux build system) and evolved into a complete, independent\nre-implementation. It provides advanced features not found in Woof, such as\nparallel downloads, automatic package splitting, simple branding and easy\nporting to different processor architectures.\n\nThe name \"roar-ng\" was originally a pun on the name \"Woof\". roar-ng's early\nprototypes were called \"Moo\", \"Meow\", \"Tweet\" and finally, \"Roar\". The latter\nwas the first to show potential and roar-ng is originally a complete rewrite\nof it.\n\n#########\n# Goals #\n#########\n\nroar-ng's key goals are:\n - Be simple.\n - Be generic and independent.\n - Be as thin as possible and provide extra functionality (e.g support for a new\n   distribution) via a file system hierarchy, rather than modification of the\n   core.\n\nroar-ng provides a simple API for all operations performed in order to build a\ndistribution (e.g package search, file download, etc') via one common core\n(\"functions\") and consists of scripts built on top of it.\n\n#############################################\n# Supported Architectures and Distributions #\n#############################################\n\nroar-ng supports packages of the following distributions:\n - Slackware\n - Debian GNU/Linux\n - Arch Linux\n - Ubuntu\n - CentOS\n - Fedora\n - OpenSUSE\n - Mageia\n - Raspbian\n - Subito GNU/Linux (e.g packages built through roar-ng itself)\n\nroar-ng is architecture-independent; it can be used to build a distribution for\nany processor architecture, as long as there are binary packages for it and\nroar-ng is able to produce an image of a supported bootable media.\n\nEach supported distribution has its own sub-directory under the \"distro\"\ndirectory, containing tools required to handle its package format and\nrepositories.\n\nExpanding roar-ng's distribution or architecture support is easy and does not\ninvolve changes in existing code: this is one of its main design goals and key\nstrength.\n\n#################\n# Configuration #\n#################\n\nBefore roar-ng can be executed to produce a distribution, it must be properly\nconfigured. Its configuration resides under the \"conf\" directory and consists\nof three files:\n - bootrc - various boot-related or system initialization parameters, such as\n            the console font.\n - distrorc - the distribution's details, such as its name, version and most\n              importantly, its target processor architecture.\n - package_list - the list of packages included in the distribution's bootable\n                  media.\n\nThe package list is a text file containing package entries; each line contains\none entry, which corresponds to a group of packages. Package entries\nconsist of four fields, delimited by the \"|\" character:\n - The distribution the packages come from.\n - A name for the package group.\n - A comma-delimited list of packages included in the group.\n - How to split the result package.\n\nThe fourth field can be confusing; in most cases, it will contain the sane\ndefault of \"exe,dev,doc,nls\". However, it can be also used to affect how roar-ng\nsplits the result package, by suffixing one of the tokens with \"\u003e\", followed by\nanother, e.g \"exe,dev,doc\u003edev,nls\". Each token stands for a part of the package:\nthe main package, development files, documentation or language support files.\nOnce a token is suffixed this way, the relevant part of the package gets merged\ninto another: in this example, documentation (\"doc\") gets redirected into the\ndevelopment files (\"dev\") part.\n\nRemember, intimate knowledge of the contents of packages and proper use of\npackage splitting rules (another key strength of roar-ng) are the key for the\ncreation of compact, simple and tidy distributions.\n\n#########\n# Usage #\n#########\n\nroar-ng consists of independent scripts, intended to run in a given order, with\nthe roar-ng directory as the working directory.\n\nThe scripts are:\n - 0setup, which downloads package lists from repositories and converts them to\n   a common, simple format.\n - 1download, which downloads all packages included in the distribution.\n - 2createpackages, which extracts, optimizes, splits and processes the\n   packages.\n - 3builddistro, which builds a bootable media image. It accepts one parameter:\n   the media type. Each media is built through a script under the \"media\"\n   directory.\n - 4buildpackage, an optional script which builds a binary package from source,\n   using chroot and 3builddistro's result. It accepts the package name as a\n   parameter and cannot be used for cross-compilation; it must run on a host\n   distribution of the same processor architecture as the result package's one.\n\nroar-ng's development model is based on incremental improvements, rather than\n\"stable\" releases. Therefore, always obtain a fresh snapshot before using it.\n\n################\n# Contributing #\n################\n\nIf you wish to contribute to roar-ng's development, there are many things you\ncan do (in the following priority):\n - Fix bugs.\n - Locate and fix inefficiencies.\n - Add support for another bootable media (e.g a SD card image for your favorite\n   SoC).\n - Add support for another distribution.\n - Add bits of documentation.\n\nBefore you send a request to merge your changes, please:\n - Make sure your code doesn't conflict with roar-ng's current state, due to\n   changes between time you began your development and the present.\n - Make sure your code is easy to understand, simple as possible, efficient and\n   matches roar-ng's coding style.\n - Document your code.\n - Make sure you have a full history of changes; always document changes. Pay\n   attention to issues you solved and interface changes.\n - Make sure your code is as future-proof as possible.\n - Make sure your code doesn't have a hard dependency on a third-party\n   component (e.g a parser). This is required to keep roar-ng independent.\n\nThe actual code should be accompanied by all this information. If everything\nseems good (which is a very subjective thing), it might be merged into roar-ng\nand you will be credited. However, no guarantees are made.\n\nAny code contributed to roar-ng should conform with its license. Code which\ndoesn't simply won't be merged.\n\n#####################\n# Legal Information #\n#####################\n\nroar-ng is licensed under the GPLv3 license, see COPYING for the license text.\nFor a list of its authors and contributors, see AUTHORS and THANKS.\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%2Froar-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimkr%2Froar-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimkr%2Froar-ng/lists"}