Ruby/Policy 2.0: Difference between revisions

From ALT Linux Wiki
No edit summary
Line 14: Line 14:


# 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:
# 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.
## '''gem''': 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;   
## '''gemfile''': 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;
## '''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;
# 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**;
# 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:50, 12 December 2023

Stub.png
Sisyphus Policy draft
Authur(s) — Малъ Скрылевъ
Discussion in devel@
Discussed since 05.02.2019


Ruby Policy

Rules for ruby module and application packages

  1. 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:
    1. gem: 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.
    2. gemfile: projects based on the Gemfile or Rakefile, for example rails or sinatra based projects like: foreman, keep their names as is;
    3. complex: gem grouped projects, name of which can't be unambiguously inferred, like: gnome2, keep their names as is;
  2. 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;
  3. Placement of the ruby site, vendor or gem modules is defined by **rpm-ruby-macros** package, which is generated by **ruby**;