Thanks all for the input. I've made a specific (quite short) proposal [1]
for the common streams and profiles including their names. We'll discuss
this tomorrow at the Modularity Team meeting (Tuesday 3 PM GMT
#fedora-meeting-3).

[1] https://pagure.io/modularity/issue/128



On Thu, Mar 14, 2019 at 4:39 PM Adam Samalik <asama...@redhat.com> wrote:

>
>
> On Thu, Mar 14, 2019 at 4:35 PM Alexander Bokovoy <aboko...@redhat.com>
> wrote:
>
>> On to, 14 maalis 2019, Stephen Gallagher wrote:
>> >On Thu, Mar 14, 2019 at 9:41 AM Alexander Bokovoy <aboko...@redhat.com>
>> wrote:
>> >>
>> >> On to, 14 maalis 2019, Stephen Gallagher wrote:
>> >> >On Thu, Mar 14, 2019 at 1:58 AM Alexander Bokovoy <
>> aboko...@redhat.com> wrote:
>> >> >> This split is very artificial. In practice, at least for first four
>> use
>> >> >> cases you actually want first three to be available always because
>> they
>> >> >> are used by various parts of the code (especially by the fourth
>> one).
>> >> >>
>> >> >> It is probably better to show this with FreeIPA. In RHEL8 beta we
>> did
>> >> >> several profiles:
>> >> >>  - client, only providing a bare minimum of FreeIPA client packages
>> >> >>    (freeipa-client, essentially)
>> >> >>  - server, only providing basic FreeIPA master without DNS and
>> trust to
>> >> >>    AD support
>> >> >>  - dns, which is server profile + freeipa-server-dns package which
>> pulls
>> >> >>    in bind and bind-dyndb-ldap
>> >> >>  - adtrust, which is server + freeipa-server-trust-ad package which
>> >> >>    pulls in Samba and other packages needed to configure IPA master
>> to
>> >> >>    trust Active Directory configuration, including FreeIPA plugins
>> to
>> >> >>    allow management of FreeIPA by users from Active Directory
>> >> >>
>> >> >> If you are only interested in client-side operations, you'd install
>> >> >> client profile. If you need full support, you'd install dns+adtrust
>> >> >> which will bring in all individual packages you shouldn't worry
>> about.
>> >> >>
>> >> >> The difference between a profile and a normal package dependency is
>> that
>> >> >> in profile I can encode use-case specific knowledge for a set of
>> >> >> dependencies which span packages that could cater to multiple use
>> cases.
>> >> >>
>> >> >
>> >> >Sure, it was a contrived example. I was mostly trying to demonstrate
>> >> >that use-case based names for profiles must always be the preferred
>> >> >approach (which FreeIPA did perfectly). The open question in this
>> >> >thread has to do with "what do we call it when there's no obvious
>> >> >fit?". We've been using "default" up to this point, but that's a
>> >> >terribly confusing name. We've suggested "common" as an alternative
>> >> >that doesn't carry the implication that it must be (or automatically
>> >> >is) the default installed stream.
>> >> I'd say if there is no obvious fit, it is rather confusing to call that
>> >> profile 'default' or 'common'. ;)
>> >>
>> >> It is not common to have common profiles for non-obvious stuff. May be
>> >> it shouldn't even be having a profile at all? After all, package names
>> >> are accessible through existing querying interfaces (dnf search, etc.)
>> >> so there is no need to have a specific profile if it is
>> >> not-that-specific.
>> >
>> >Well, I may not have done a great job of explaining the Node.js case,
>> >but let me try to use a different example: Perl
>> >
>> >Perl defines a set of modules (not all of which are shipped with the
>> >interpreter package) that are expected to be present on any standard
>> >installation. What do we call that profile? To me, "common" seems
>> >pretty reasonable. We may also have an "interpreter" or "embedded"
>> >profile that ships a smaller set of content but that would not be the
>> >default profile.
>> In case of a programming language it could probably be called
>> 'standard-environment' or 'runtime' to underline the fact that it is
>> what is expected from a compliant environment for that programming
>> language runtime.
>>
>> However, for a client-server software there is little can be gained from
>> making a 'common' profile. What is common for a MariaDB client and a
>> MariaDB server? What set of modules is considered 'common' for Apache or
>> Nginx deployments? If there is a common agreement to what is reasonably
>> expected by the users of that software, then there is a good reason to
>> name that one 'common' but not in every case.
>>
>> >Yes, some of these same problems can and may be solved with standard
>> >dependencies and metapackages, but profiles will be a bit
>> >higher-visibility and offer an opportunity for describing things by
>> >their use-case.
>> I think that's an opportunity, indeed, but not a requirement to do it
>> for every single case. ;)
>>
>
> Ah, we're not proposing to force this profile to be used in every case.
> But when it is used, we just want the name to be consistent across all
> modules. The same goes for some common stream names.
>
>>
>> --
>> / Alexander Bokovoy
>> Sr. Principal Software Engineer
>> Security / Identity Management Engineering
>> Red Hat Limited, Finland
>> _______________________________________________
>> devel mailing list -- devel@lists.fedoraproject.org
>> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
>> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:
>> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
>>
>
>
> --
>
> Adam Šamalík
> ---------------------------
> Senior Software Engineer
> Red Hat
>


-- 

Adam Šamalík
---------------------------
Senior Software Engineer
Red Hat
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to