Ruby/Policy 2.0: Difference between revisions
< Ruby
(Replaced content with "{{DraftPolicy |responsible=Малъ Скрылевъ |discussion_link=https://lists.altlinux.org/pipermail/devel/2019-February/206679.html |discussion_since=05.02.2019 }} == Ruby Policy == __TOC__ '''''Rules for ruby module and application packages''''' Category:Ruby") Tag: Replaced |
|||
Line 12: | Line 12: | ||
[[Category:Ruby]] | [[Category:Ruby]] | ||
# The name of package depends on the repo containments and there is of three main types, so list below shows types and their according namings: | |||
* gem-based: project contains one of several gems depending of one of the contained gems, like: [https://packages.altlinux.org/ru/sisyphus/srpms/gem-concurrent-ruby/specfiles concurrent-ruby], [https://packages.altlinux.org/ru/sisyphus/srpms/gem-train/specfiles train], have to be renamed with one, which begins with **gem-** prefix of shorest gem included in repo, with replacement '_', and '.' chars into '-', like name ***smart_proxy.one*** has to become ***gem-smart-proxy-one*** when packaged. | |||
* gemfile-based: projects based on the ''Gemfile'' or ''Rakefile'', for example rails or sinatra based projects like: [https://packages.altlinux.org/ru/sisyphus/srpms/foreman/specfiles foreman], keep their names as is; | |||
* gem-groups/complex: gem grouped projects, name of which can't be unambiguously inferred, like: [https://packages.altlinux.org/ru/sisyphus/srpms/ruby-gnome2/specfiles gnome2], keep their names as is; | |||
# All the build requires and conflicts should, except those that must be used for build, be closed under %check condition, and it required only for testing purposes; | |||
# Placement of the ruby site, vendor or gem modules is defined by **rpm-ruby-macros** package, which is generated by **ruby**; |
Revision as of 17:47, 12 December 2023
Ruby Policy
Rules for ruby module and application packages
- The name of package depends on the repo containments and there is of three main types, so list below shows types and their according namings:
* gem-based: project contains one of several gems depending of one of the contained gems, like: concurrent-ruby, train, have to be renamed with one, which begins with **gem-** prefix of shorest gem included in repo, with replacement '_', and '.' chars into '-', like name ***smart_proxy.one*** has to become ***gem-smart-proxy-one*** when packaged. * gemfile-based: projects based on the Gemfile or Rakefile, for example rails or sinatra based projects like: foreman, keep their names as is; * gem-groups/complex: gem grouped projects, name of which can't be unambiguously inferred, like: gnome2, keep their names as is;
- All the build requires and conflicts should, except those that must be used for build, be closed under %check condition, and it required only for testing purposes;
- Placement of the ruby site, vendor or gem modules is defined by **rpm-ruby-macros** package, which is generated by **ruby**;