Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-08 Thread Garrett Holmstrom

On 2012-08-07 10:35, Lennart Poettering wrote:

On Tue, 07.08.12 13:31, Gary Gatling (gsgat...@ncsu.edu) wrote:

Question about new systemd policy,

If your package is under review, and it enables its service by default, do
you add it to the bugzilla of the systemd package or would that be one of
the things that needs to happen if it gets approved?


To enable a service by default after package installation you need
permission from FESCO. See the last line of:

https://fedoraproject.org/wiki/Starting_services_by_default

If you have permission from FESCO then I will add it to the default
preset file in systemd and upload it to Fedora.

What service are you specifically wondering about?


I maintain a package (cloud-init) with several services that meet the 
runs once then goes away grant.  Shall I file a bug against the 
systemd package or something else?


Going forward, when a package adds or removes a systemd service that 
starts by default, what is the best way to coordinate the change with 
the preset policy maintainers?

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-08 Thread Petr Pisar
On 2012-08-07, Lennart Poettering mzerq...@0pointer.de wrote:

 For services which should not be restarted on upgrade (D-Bus, ...) we
 should recommend this:

 %postun
 %{systemd_postun} 

Current wiki text is:

 %post
 %{systemd_postun}

Is this s/postun/post/ intentional?

-- Petr


-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-08 Thread Tom Callaway
On 08/08/2012 06:10 AM, Petr Pisar wrote:
 On 2012-08-07, Lennart Poettering mzerq...@0pointer.de wrote:

 For services which should not be restarted on upgrade (D-Bus, ...) we
 should recommend this:

 %postun
 %{systemd_postun} 

 Current wiki text is:
 
 %post
 %{systemd_postun}
 
 Is this s/postun/post/ intentional?

Nope, thats a typo. Fixed, thanks.

~tom

==
Fedora Project
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-08 Thread Lennart Poettering
On Wed, 08.08.12 00:17, Garrett Holmstrom (gho...@fedoraproject.org) wrote:

 On 2012-08-07 10:35, Lennart Poettering wrote:
 On Tue, 07.08.12 13:31, Gary Gatling (gsgat...@ncsu.edu) wrote:
 Question about new systemd policy,
 
 If your package is under review, and it enables its service by default, do
 you add it to the bugzilla of the systemd package or would that be one of
 the things that needs to happen if it gets approved?
 
 To enable a service by default after package installation you need
 permission from FESCO. See the last line of:
 
 https://fedoraproject.org/wiki/Starting_services_by_default
 
 If you have permission from FESCO then I will add it to the default
 preset file in systemd and upload it to Fedora.
 
 What service are you specifically wondering about?
 
 I maintain a package (cloud-init) with several services that meet
 the runs once then goes away grant.  Shall I file a bug against
 the systemd package or something else?
 
 Going forward, when a package adds or removes a systemd service that
 starts by default, what is the best way to coordinate the change
 with the preset policy maintainers?

Cloud sounds like something that is network facing, so I guess you need
the OK from FESCO if you want to run it by default.

Note that I am not really the guy in charge here, that's FESCO. I will
simply check the wiki page mentioned above, and copy things from there
into the policy file.

Note that there are actually three kinds of services in my eyes:

1) Services that are not enabled after package installation
2) Services that are enabled after package installation
3) Services that static, i.e. enabled unconditionally via symlinks in
   /usr/ rather than in /etc/, and are not supposed to be disabled, and
   can only be disabled via systemctl mask, but systemctl enable and
   systemctl disable does not really apply to them.

Examples for #1 are things like Apache and MySQL I guess.

Examples for #2 are things like Syslog, cron, SSH, ...

Examples for #3 are things like PolicyKit, D-Bus, LVM, udisks, upower, ...

And my suspicion is that the first sentence in
https://fedoraproject.org/wiki/Starting_services_by_default which says
If a service does not require configuration to be functional and is not
network enabled, it may be enabled by default (but is not required to do
so) should probably just mean that a service like this should be
considered of type #3.

Or with other words: I think quite strongly that a service that a
service covered by this sentence is probably either one of type #1 or
type #3, but not for #2.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-08 Thread Miloslav Trmač
On Wed, Aug 8, 2012 at 5:57 PM, Lennart Poettering mzerq...@0pointer.de wrote:
 Note that there are actually three kinds of services in my eyes:

 1) Services that are not enabled after package installation
 2) Services that are enabled after package installation
 3) Services that static, i.e. enabled unconditionally via symlinks in
/usr/ rather than in /etc/, and are not supposed to be disabled, and
can only be disabled via systemctl mask, but systemctl enable and
systemctl disable does not really apply to them.

 Examples for #1 are things like Apache and MySQL I guess.

 Examples for #2 are things like Syslog, cron, SSH, ...

 Examples for #3 are things like PolicyKit, D-Bus, LVM, udisks, upower, ...

 And my suspicion is that the first sentence in
 https://fedoraproject.org/wiki/Starting_services_by_default which says
 If a service does not require configuration to be functional and is not
 network enabled, it may be enabled by default (but is not required to do
 so) should probably just mean that a service like this should be
 considered of type #3.

I can see no reason for such a suspicion.  The wording enabled by
default automatically implies the ability to disable, doesn't it?

 Or with other words: I think quite strongly that a service that a
 service covered by this sentence is probably either one of type #1 or
 type #3, but not for #2.

Why?  If we want to move in the direction of a static system image
separate from configuration (which was one of the reported
motivations of /usr move), it should be possible to disable installed
services in the configuration, not by package removal from the
system image - or at least to disable anything that is not contained
in the minimal platform installation.  So, in particular, udisks2
and upower needs to be user-controlled.
Mirek
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-08 Thread Garrett Holmstrom
On Wed, Aug 8, 2012 at 8:57 AM, Lennart Poettering mzerq...@0pointer.de wrote:
 On Wed, 08.08.12 00:17, Garrett Holmstrom (gho...@fedoraproject.org) wrote:
 I maintain a package (cloud-init) with several services that meet
 the runs once then goes away grant.  Shall I file a bug against
 the systemd package or something else?

 Cloud sounds like something that is network facing, so I guess you need
 the OK from FESCO if you want to run it by default.

Perhaps, but the second permission grant on that page carries no such
restriction on network-enabled services:

In addition, any service which does not remain persistent on the
system (aka, it runs once then goes away) and does not require
configuration to be functional may be enabled by default (but is not
required to do so). Examples of runs once then goes away services
include iptables and udev.

As a set of oneshot services that run once at boot time and then
terminate, cloud-init falls entirely within the bounds of that grant.
But if the fact that it contacts the network makes you uneasy then I
can ask FESCo to clarify their statement.  Would that help?
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-08 Thread Lennart Poettering
On Wed, 08.08.12 12:16, Garrett Holmstrom (gho...@fedoraproject.org) wrote:

 On Wed, Aug 8, 2012 at 8:57 AM, Lennart Poettering mzerq...@0pointer.de 
 wrote:
  On Wed, 08.08.12 00:17, Garrett Holmstrom (gho...@fedoraproject.org) wrote:
  I maintain a package (cloud-init) with several services that meet
  the runs once then goes away grant.  Shall I file a bug against
  the systemd package or something else?
 
  Cloud sounds like something that is network facing, so I guess you need
  the OK from FESCO if you want to run it by default.
 
 Perhaps, but the second permission grant on that page carries no such
 restriction on network-enabled services:
 
 In addition, any service which does not remain persistent on the
 system (aka, it runs once then goes away) and does not require
 configuration to be functional may be enabled by default (but is not
 required to do so). Examples of runs once then goes away services
 include iptables and udev.
 
 As a set of oneshot services that run once at boot time and then
 terminate, cloud-init falls entirely within the bounds of that grant.
 But if the fact that it contacts the network makes you uneasy then I
 can ask FESCo to clarify their statement.  Would that help?

Yes, it is probably better to ask FESCO for a clarification for this.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Tom Hughes

On 07/08/12 17:41, Tom Callaway wrote:


The systemd scriptlet guidelines have been updated for Fedora 18. In
Fedora 18, the systemd package now provides helper macros to simplify
%post, %preun, and %postun invocations in packages with systemd unit
files. Additionally, these macros enable support for systemd profiles,
a Fedora 18 Feature.

​https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd


The postun macros look wrong - as written the guidelines will result in 
a service that is not enabled by default not being restarted on upgrade 
which is a change from the current behaviour.


Tom

--
Tom Hughes (t...@compton.nu)
http://compton.nu/
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Lennart Poettering
On Tue, 07.08.12 17:55, Tom Hughes (t...@compton.nu) wrote:

 On 07/08/12 17:41, Tom Callaway wrote:
 
 The systemd scriptlet guidelines have been updated for Fedora 18. In
 Fedora 18, the systemd package now provides helper macros to simplify
 %post, %preun, and %postun invocations in packages with systemd unit
 files. Additionally, these macros enable support for systemd profiles,
 a Fedora 18 Feature.
 
 ​https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
 
 The postun macros look wrong - as written the guidelines will result
 in a service that is not enabled by default not being restarted on
 upgrade which is a change from the current behaviour.

This looks mostly like a copy/paste mistake in the guidelines.

The bit about If your service should be enabled by default, ... should
actually read If your service should be restarted on upgrades, 

The big change here is that the policy whether to enable/disable a
package by default after installation is no longer encoded in the
package itself, but in the preset policy. Thus, mechanism and policy are
cleanly separated, so that spins or even local administrators can employ
their own schemes here. The Fedora default preset policy is now shipped
in systemd.rpm (though I am happy to move it elsewhere, if people
prefer). That basically means: if you are converting a service that
shall be enabled by default to these new macros (i.e. a service listed
on https://fedoraproject.org/wiki/Starting_services_by_default ) then
please file a bug against systemd so that your service is added to the
default preset policy, so that your service continues to be enabled by
default after package installation.

Spot, may I suggest adding a short paragraph about this to the guidelines?

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Tom Callaway
On 08/07/2012 12:55 PM, Tom Hughes wrote:
 On 07/08/12 17:41, Tom Callaway wrote:
 
 The systemd scriptlet guidelines have been updated for Fedora 18. In
 Fedora 18, the systemd package now provides helper macros to simplify
 %post, %preun, and %postun invocations in packages with systemd unit
 files. Additionally, these macros enable support for systemd profiles,
 a Fedora 18 Feature.

 ​https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
 
 The postun macros look wrong - as written the guidelines will result in
 a service that is not enabled by default not being restarted on upgrade
 which is a change from the current behaviour.

You're right. I've corrected this. Thanks!

~tom

==
Fedora Project
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Tom Callaway
On 08/07/2012 01:07 PM, Lennart Poettering wrote:
 Spot, may I suggest adding a short paragraph about this to the guidelines?

Of course, although even more valuable would be a diff from the existing
guidelines.

~tom

==
Fedora Project
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Tom Hughes

On 07/08/12 18:11, Tom Callaway wrote:

On 08/07/2012 12:55 PM, Tom Hughes wrote:


The postun macros look wrong - as written the guidelines will result in
a service that is not enabled by default not being restarted on upgrade
which is a change from the current behaviour.


You're right. I've corrected this. Thanks!


Great.

Is that new section on enabled by default right for F18 though? or is 
that supposed be handled via presets now?


Tom

--
Tom Hughes (t...@compton.nu)
http://compton.nu/
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Lennart Poettering
On Tue, 07.08.12 13:12, Tom Callaway (tcall...@redhat.com) wrote:

 On 08/07/2012 01:07 PM, Lennart Poettering wrote:
  Spot, may I suggest adding a short paragraph about this to the guidelines?
 
 Of course, although even more valuable would be a diff from the existing
 guidelines.

Ok, what about this:

If your package includes one or more systemd units that shall be
enabled by default on package installation, they need to be listed in
the default Fedora preset
policy. 
[[http://pkgs.fedoraproject.org/cgit/systemd.git/plain/99-default.preset|
The default fedora preset policy is shipped as part of systemd.rpm]]. If
your unit files are missing from this list, please file a bug against
the systemd package. Only services included in the
[[https://fedoraproject.org/wiki/Starting_services_by_default|list of
services that may be enabled by default on package installation]] are
eligible for this.

Or something like this?

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Gary Gatling
On Tue, Aug 7, 2012 at 1:18 PM, Lennart Poettering mzerq...@0pointer.dewrote:


 Ok, what about this:

 If your package includes one or more systemd units that shall be
 enabled by default on package installation, they need to be listed in
 the default Fedora preset
 policy. [[
 http://pkgs.fedoraproject.org/cgit/systemd.git/plain/99-default.preset|
 The default fedora preset policy is shipped as part of systemd.rpm]]. If
 your unit files are missing from this list, please file a bug against
 the systemd package. Only services included in the
 [[https://fedoraproject.org/wiki/Starting_services_by_default|list of
 services that may be enabled by default on package installation]] are
 eligible for this.

 Or something like this?


Question about new systemd policy,

If your package is under review, and it enables its service by default, do
you add it to the bugzilla of the systemd package or would that be one of
the things that needs to happen if it gets approved?

Thanks,



 Lennart

 --
 Lennart Poettering - Red Hat, Inc.
 --
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Tom Callaway
On 08/07/2012 01:29 PM, Lennart Poettering wrote:
 For services which should not be restarted on upgrade (D-Bus, ...) we
 should recommend this:
 
 %postun
 %{systemd_postun} 
 
 and for services which should be restarted on upgrade, we should
 recommend this: 
 
 %postun
 %{systemd_postun_with_restart} apache-httpd.service 
 
 And nobody should use systemctl enable in the spec snippets
 anymore. That should be encoded in the preset policy (see other mail I
 just sent).

Why would we ever not want to do a try-restart on an upgrade? This is
the current Fedora default.

~tom

==
Fedora Project
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Lennart Poettering
On Tue, 07.08.12 13:36, Tom Callaway (tcall...@redhat.com) wrote:

 On 08/07/2012 01:29 PM, Lennart Poettering wrote:
  For services which should not be restarted on upgrade (D-Bus, ...) we
  should recommend this:
  
  %postun
  %{systemd_postun} 
  
  and for services which should be restarted on upgrade, we should
  recommend this: 
  
  %postun
  %{systemd_postun_with_restart} apache-httpd.service 
  
  And nobody should use systemctl enable in the spec snippets
  anymore. That should be encoded in the preset policy (see other mail I
  just sent).
 
 Why would we ever not want to do a try-restart on an upgrade? This is
 the current Fedora default.

Many services don't support being restarted. For example D-Bus and various
storage daemons.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Lennart Poettering
On Tue, 07.08.12 17:35, Jóhann B. Guðmundsson (johan...@gmail.com) wrote:

 On 08/07/2012 05:18 PM, Lennart Poettering wrote:
 Ok, what about this:
 
 If your package includes one or more systemd units that shall be
 enabled by default on package installation, they need to be listed in
 the default Fedora preset
 policy. 
 [[http://pkgs.fedoraproject.org/cgit/systemd.git/plain/99-default.preset|
 The default fedora preset policy is shipped as part of systemd.rpm]]. If
 your unit files are missing from this list, please file a bug against
 the systemd package. Only services included in the
 [[https://fedoraproject.org/wiki/Starting_services_by_default|list of
 services that may be enabled by default on package installation]] are
 eligible for this.
 
 Or something like this?
 
 It's only logical since Fesco is responsible for what is and why
 it's enabled by default they should be the once that have to add the
 relevant unit(s) to that default preset file and commit those
 changes ( with proper change log entries on why they granted that
 exception in the first place )  once the exception has been
 approved.

Well, the default preset file is currently in systemd.rpm. I am of
course happy if FESCO just goes ahead and commits any changes to the
policy right-away, but other than that, I am happy to do this for FESCO.

 The only thing an packager should have to do is request for his
 unit(s) to be enabled by default then add the relevant macro to his
 spec file if fesco grants that.

The macros should be used anyway. The FESCO permission and addition to
the policy is something on top of this.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Bill Nottingham
Lennart Poettering (mzerq...@0pointer.de) said: 
 On Tue, 07.08.12 13:36, Tom Callaway (tcall...@redhat.com) wrote:
 
  On 08/07/2012 01:29 PM, Lennart Poettering wrote:
   For services which should not be restarted on upgrade (D-Bus, ...) we
   should recommend this:
   
   %postun
   %{systemd_postun} 
   
   and for services which should be restarted on upgrade, we should
   recommend this: 
   
   %postun
   %{systemd_postun_with_restart} apache-httpd.service 
   
   And nobody should use systemctl enable in the spec snippets
   anymore. That should be encoded in the preset policy (see other mail I
   just sent).
  
  Why would we ever not want to do a try-restart on an upgrade? This is
  the current Fedora default.
 
 Many services don't support being restarted. For example D-Bus and various
 storage daemons.

It's even in the SysV guidelines that automatic condrestart may not be
appropriate for all services.

Bill
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Gary Gatling
On Tue, Aug 7, 2012 at 1:35 PM, Lennart Poettering mzerq...@0pointer.dewrote:


 To enable a service by default after package installation you need
 permission from FESCO. See the last line of:

 https://fedoraproject.org/wiki/Starting_services_by_default

 If you have permission from FESCO then I will add it to the default
 preset file in systemd and upload it to Fedora.

 What service are you specifically wondering about?


Hi, I have a package review in bugzilla 827167, where I am doing it wrong.
The service is called bublebeed. It controls a discrete GPU if its a Intel
+ Nvidia hybrid graphics system. You should only install this package if
you have the correct hardware. Otherwise its kind of useless.

So I'm going to try to fix my package and do it the correct way.

So I guess I need to research getting permission from FESCO, after I fix
the package.

Thanks,
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Miloslav Trmač
On Tue, Aug 7, 2012 at 7:48 PM, Gary Gatling gsgat...@ncsu.edu wrote:
 On Tue, Aug 7, 2012 at 1:35 PM, Lennart Poettering mzerq...@0pointer.de
 wrote:


 To enable a service by default after package installation you need
 permission from FESCO. See the last line of:

 https://fedoraproject.org/wiki/Starting_services_by_default

 If you have permission from FESCO then I will add it to the default
 preset file in systemd and upload it to Fedora.

 What service are you specifically wondering about?


 Hi, I have a package review in bugzilla 827167, where I am doing it wrong.
 The service is called bublebeed. It controls a discrete GPU if its a Intel +
 Nvidia hybrid graphics system. You should only install this package if you
 have the correct hardware. Otherwise its kind of useless.

 So I'm going to try to fix my package and do it the correct way.

 So I guess I need to research getting permission from FESCO, after I fix the
 package.

Note that a package doesn't necessarily have to be explicitly listed
on the wiki page to be enabled by default, the page starts with two
general rules, the first being the most general one:
 If a service does not require configuration to be functional and is not 
 network enabled, it may be enabled by default (but is not required to do so).
Mirek
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: [Guidelines Change] Change to the Packaging Guidelines

2012-08-07 Thread Gary Gatling
On Tue, Aug 7, 2012 at 2:20 PM, Miloslav Trmač m...@volny.cz wrote:



 Note that a package doesn't necessarily have to be explicitly listed
 on the wiki page to be enabled by default, the page starts with two
 general rules, the first being the most general one:
  If a service does not require configuration to be functional and is not
 network enabled, it may be enabled by default (but is not required to do
 so).


Oh, I see. Yeah. bumblebeed doesn't require configuration and its not a
network service. Should have seen that. Thanks for the clarification.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel