Re: [DNG] Fwd: init system agnosticism [WAS: how to remove libsystemd0 from a live-running debian desktop system]

2017-04-14 Thread Jaromil
dear Hendrik,

On Wed, 12 Apr 2017, Hendrik Boom wrote:

> Well, the official policy, insofar as there is one, appears to be that 
[...]

thanks for writing down such a clear statement on the matter, its
helping us to complete the release announcement which now includes
this section about Init Freedom:

""

At last, Devuan is about choice. We think people should be able to
choose whether to use a GNU+Linux system with or without systemd.

Two and a half years ago Devuan decided to split off because Debian
has made it difficult to avoid systemd, ignoring the needs of half of
its population.

Devuan is a new start, growing with your help and donations, but still
with limited resources compared to Debian, so we focus on providing
the missing alternative: a GNU+Linux system without systemd.

We support potential Devuan users who wish to use systemd by having
them use Debian's installer, Debian's packages, and Debian's mailing
lists, all available directly from Debian's mirrors.

""



ciao

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 16.03.2017 12:10, Didier Kryn wrote:

> Many free software developper teams proved already they are mostly
> working for themselves - eg Gnome, KDE, Firefox. When people develop
> software for free, they put a lot of their ego in it, and this goes
> against the ability to recognize ones own mistakes or bad decisions; I
> think this is the weak point of free software.

Well, that also applies to us, also any distro, and I dont see a major
problem here.

We just need some way to reduce the amount of duplicate work.

Several years ago, I started a project called 'oss-qm' which aimed to
collect maintenance branches for lots of packages, which solve the
common problems in a generic way (instead of all the dist specific
patches), so distros can base their branches on that. The problem then
wasn't systemd (which handn't been invented yet), but poor upstream QM.

Unfortunately, nobody jumped up and it was way too much for me alone.

Maybe Devuan could be a good place for giving it a fresh start.
We'd also collect all the depotterizing patches (along w/ others)
there and regularily post our queues to the upstreams.

I'm pretty agnostic on how the process actually works, just a small
set of requirements:

* always the full trees in a git repo
* dist-specific branches should be named w/ / prefix
  and contain all build files, w/o additional patching
  (IOW: patches already applied instead of extra files)
* for each supported version there should be separate maint branch,
  where the dists can base theirs on
* some (per package) central repo where all branches from around the
  world are collected.

Anybody here interested in that ?

> They just don't care, as long as developpers comply with their
> requirements. Even some developpers are only concerned with the amount
> of work implied for them by the init system, and prefer systemd just
> because of that - good example in the thread pointed by
> dotcom...@autistici.org:
> https://lists.gnu.org/archive/html/libreplanet-discuss/2017-03/msg00017.html.

application developers should't ever provide any dist specific stuff
like init scripts (except examples). instead should tell what's
necessary for running their stuff.

> Look, today Devuan lives with using mostly Debian packages, a small
> fraction of which being de-poetterized. 

That's already a good thing, and really should be continued. But the
corresponding patches should also go to the upstreams.

> Debian will continue living by mirroring Devuan and poetterizing some 
> of the packages; they'll not give up.

That would be quite a fun.


 --mtx
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread KatolaZ
On Fri, Apr 14, 2017 at 09:14:32AM +0200, Enrico Weigelt, metux IT consult 
wrote:

[cut]

> 
> > Look, today Devuan lives with using mostly Debian packages, a small
> > fraction of which being de-poetterized. 
> 
> That's already a good thing, and really should be continued. But the
> corresponding patches should also go to the upstreams.
> 

...err...by upstream you mean Debian? Then I am lost. Most of the
systemd-specific stuff in those packages has been added by the Debian
packagers themselves, to abide to the plans of conqering the world
with a Blitzkrieg. People are struggling to get those silly deps out,
and now you would like those patches to go back to Debian? Again, to
what avail?

Try to submit a patch like that by yourself, and see how long does it
take for the "PLONK" sound to he heard loud and clear, from a
distance.

Debian has made her decision. I know it's hard to believe for a
long-time Debianist, but they have effectively no intention of
supporting anything else than systemd. You should try to accept this
as a fact, after 30 months, go through the the appropriate
bereavement, and move on.

KatolaZ

-- 
[ ~.,_  Enzo Nicosia aka KatolaZ - GLUGCT -- Freaknet Medialab  ]  
[ "+.  katolaz [at] freaknet.org --- katolaz [at] yahoo.it  ]
[   @)   http://kalos.mine.nu ---  Devuan GNU + Linux User  ]
[ @@)  http://maths.qmul.ac.uk/~vnicosia --  GPG: 0B5F062F  ] 
[ (@@@)  Twitter: @KatolaZ - skype: katolaz -- github: KatolaZ  ]


signature.asc
Description: Digital signature
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] New documentation on the Surf browser

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 10.03.2017 07:30, Steve Litt wrote:
> Hi all,
> 
> I've just finished an extensive and complete document on installing,
> modifying and using the Surf browser, and judging from yesterday's
> biggest thread, not a moment too soon.

Having a little package that glues them all together, to have a small
tabbed browser out of the box.

One important thing for me is automatic session save/restore, and a way
to quickly stash away open tabs (like onetab for chrome does).


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 09:49, KatolaZ wrote:
> On Fri, Apr 14, 2017 at 09:14:32AM +0200, Enrico Weigelt, metux IT consult 
> wrote:

> ...err...by upstream you mean Debian? Then I am lost. 

I meant the actual upstreams, but dists like debian too.

> Most of the systemd-specific stuff in those packages has been added by
> the Debian packagers themselves, to abide to the plans of conqering
> the world with a Blitzkrieg.

I guess we just wouldn't take those patches into our queues.
If those area the only ones, we'll have an empty queue, therefore
nothing to be sent.

Of course, sooner or later we'd want some kind of tracking, which
patches we've already processed, so we eg. never look again on the
rejected ones.

> Debian has made her decision. I know it's hard to believe for a
> long-time Debianist, but they have effectively no intention of
> supporting anything else than systemd.

Well, let's see. I dont intend to spend much time (as w/ any other
distro I'm not using myself). Just some (semi-)automatic posting,
just a little glue around git-send-email called by cron ...

Actually, I'm seeing that not limited to depotterization (that's just
a good usecase to start with), but any patches that some distro
(or in embedded case: bsp maintainer) might add ontop certain
upstream tree and can be useful for others.


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Fwd: init system agnosticism [WAS: how to remove libsystemd0 from a live-running debian desktop system]

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 13.04.2017 09:27, Klaus Ethgen wrote:

> Take for example openssh, I provide patched packages on my server that
> remove the patches of debian that lower ssh security for just gaining a
> bit more comfort. 

What are they aiming to "improve" here ?

> However, in the recent days it was even not possible
> anymore to build as it build depend on libsystemd-dev that is starting
> to depend on systemd itself.

What exactly has happened here ?
Is it just the debian package or openssh upstream itself ?

BTW: just looking at debian patches (jessie) ... haven't seen anything
like that yet.

But it seems they still haven't learn that patching autogenerated files
isn't a good idea.

--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


[DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 13.04.2017 08:00, Joachim Fahrner wrote:

> This is impossible with a binary distribution. systemd is not only an
> init system, it pervades the whole system. You can either compile
> packages with systemd libraries or without. But you have to decide that
> at compile time.

That's exactly what I'm trying to solve here by an *tiny* generic API.

Let's just take some example: libsrvmgt with funcs like that:

* srvmgt_daemonize()
  --> detach from controlling terminal, etc
* srvmgt_droppriv(...)
  --> drop root privileges (if we are still root)
  --> several versions, eg. with fetching the target uid/gid from env
* srvmgt_report_state(...)
  --> report the service state to the supervisor
  --> states could be eg.
* SRVMGT_STATE_STARTUP -- still within the startup phase
* SRVMGT_STATE_READY_LOCAL -- ready for local clients only
* SRVMGT_STATE_READY_ALL   -- ready for all clients
* SRVMGT_STATE_BUSY-- too busy to process new requests
* SRVMGT_STATE_SHUTDOWN-- shutting down, still finishing
  queued requests
* SRVMGT_STATE_DEFERRED-- temporarily can't accept new
  requests (eg. overload)
* SRVMGT_STATE_WAITING -- wait for resource (eg. printer
  needs paper or ink)
* SRVMGT_STATE_OFFLINE -- completely offline (eg. due some
  fatal error)

For start, we'd just write a small library, that logs to syslog,
perhaps maintains some pidfiles (maybe even a *compile-time* option
to route directly to libsystemd), then patch up packages that currently
use libsystemd to use our new one.

Actually, that lib would be so small, that it IMHO wouldn't even hurt
when upstreams adopted it w/o opt-out.

Later on, other folks can easily implement that for the service
monitors of their choice.

For binary packaging, the distro would at least provide the almost-dummy
version above, and additional ones fitting the individual service
monitors. Just as w/ many other similar cases, there would be some
virtual package 'libsrvmgt' and various real packages, and the
individual service monitors / init systems would depend on their
supported real packages.

At this point, there wouldn't be any technical reason for anybody
potterizing a package for the sake of service reporting. Packages can
just depend on that API, while nobody is bound to a specific
implementation. Thefore no need for any conflict anymore (at least
in that area).


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] overriding install paths in debian/rules

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 08.03.2017 15:37, aitor_czr wrote:

> But that's good: imagine, for example, someone downloading the sources
> of linux-libre from the fsfla's website. He will not be able to add a
> binary file using quilt; so, pristine-tar will be enough to verify the
> lack of binary blobs.

So, you consider adding (binary) pictures a bad idea in general ?


--mtx
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] FF pulseaudio hard dependency is here

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 08.03.2017 18:59, goli...@dyne.org wrote:

> Me either and many others on this list - there have been several
> pulseaudio threads on dng over the years. But that is not the point. 
> Unless FF 52 onward is recompiled with the alsa switch enabled, it will
> be unusable for most of us.  So this is a heads up that someone will
> have to step forward to do this if it is not worked out upstream.  Care
> to take that on?

Somebody here who already went through the hell of compiling and
packaging FF from upstream sources ?


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] FF pulseaudio hard dependency is here

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 08.03.2017 19:30, KatolaZ wrote:

> "...WE ARE THE BORG. LOWER YOUR SHIELDS AND SURRENDER YOUR SHIPS. WE
> WILL ADD YOUR BIOLOGICAL AND TECHNOLOGICAL DISTINCTIVENESS TO OUR
> OWN. YOUR CULTURE WILL ADAPT TO SERVICE US. RESISTANCE IS FUTILE..."

We all know the borg can be defeated.

Actually, they offer a lot of other attack vectors that never had been
played out in the shows.


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] FF pulseaudio hard dependency is here

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 09.03.2017 07:45, KatolaZ wrote:

> I have made a quick search, and it seems that the problem is, again,
> in the fact that people prefer overkills to simple solutions. 

Yeah, they invented their own private "cross platform API" - as there
wouldn't already be enough out there, that just could be used.

OTOH, having an own video streaming within the browser (the same
silliness in chrome) also is just making everything complicated.
They just could have used gstreamer and get hw decoding for free.

> Midori (aside with many other browsers) is using XBEL, an XML format to 
> store bookmarks, which was introduced not because another file format
> for bookmarks was needed, but rather to showcase the abilities of the
> PyXML module (google "XBEL bookmarks" to find out more details about
> this unbelievable yet interesting story...).

These folks could just sit together and design an browser agnostic
bookmarks library and let everybody pick the backend he wants.
Could even be done as an small 9P service.

> And it seems that the main developer of Midori finds it quite
> complicated (sic!) to transform a Netscape (html) bookmark files (or
> any other bookmark format, for that matter) into XBEL. There you
> go. You can still export your bookmarks into html format and browse
> that file :\

What's so complicated w/ netscape html bookmarks ?

> The reason why one wants to use XML to store bookmarks still defies my
> very primitive logic, though, since implementing a tag-based bookmark
> systems requires 28 lines of shell script (attached below), of which
> only 9 contain actual shell code...

Maybe, because that would be too easy ? :o


> #!/bin/sh
> 
> ##
> ## Simple script to manage bookmarks
> ##
> ## If run without arguments, provide a dmenu list of current
> ## bookmarks, and paste the selection to the primary
> ## clipboard. Otherwise, add a new bookmark, and set the
> ## decription/tag to the arguments provided on the command
> ## line.
> ##
> ## KatolaZ -- 2015
> ##
> 
> BKFILE=$(realpath "${HOME}/.surf/bookmarks.txt")
> 
> 
> if [ $# -ge 1 ]; then
> ## adding a new bookmark from the primary selection
> URL=$(xclip -o)
> echo "${URL} | $@" >> ${BKFILE}
> else
> ## Searching the bookmark file...
> ## Get an URI
> SEL=$(cat ${BKFILE} | dmenu -l 5)
> ##echo "Selected: ${SEL}"
> 
> URL=$(echo "${SEL}" | cut -d "|" -f 1)
> echo "${URL}" | xclip -f
> fi

hmm, looks like a nice addition to the surf package.


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread KatolaZ
On Fri, Apr 14, 2017 at 10:57:01AM +0200, Enrico Weigelt, metux IT consult 
wrote:

[cut]

> * srvmgt_daemonize()
>   --> detach from controlling terminal, etc
> * srvmgt_droppriv(...)
>   --> drop root privileges (if we are still root)
>   --> several versions, eg. with fetching the target uid/gid from env
> * srvmgt_report_state(...)
>   --> report the service state to the supervisor
>   --> states could be eg.
>   * SRVMGT_STATE_STARTUP -- still within the startup phase
>   * SRVMGT_STATE_READY_LOCAL -- ready for local clients only
>   * SRVMGT_STATE_READY_ALL   -- ready for all clients
>   * SRVMGT_STATE_BUSY-- too busy to process new requests
>   * SRVMGT_STATE_SHUTDOWN-- shutting down, still finishing
>   queued requests
>   * SRVMGT_STATE_DEFERRED-- temporarily can't accept new
>   requests (eg. overload)
>   * SRVMGT_STATE_WAITING -- wait for resource (eg. printer
>   needs paper or ink)
>   * SRVMGT_STATE_OFFLINE -- completely offline (eg. due some
>   fatal error)
> 
> For start, we'd just write a small library, that logs to syslog,
> perhaps maintains some pidfiles (maybe even a *compile-time* option
> to route directly to libsystemd), then patch up packages that currently
> use libsystemd to use our new one.
>

I personally don't see why one would like to redo libsystemd0 from
scratch, as you seem so kee of doing. 

Go on down your path, but I suspect not many people would cheer at you
in this camp...

HND

KatolaZ

-- 
[ ~.,_  Enzo Nicosia aka KatolaZ - GLUGCT -- Freaknet Medialab  ]  
[ "+.  katolaz [at] freaknet.org --- katolaz [at] yahoo.it  ]
[   @)   http://kalos.mine.nu ---  Devuan GNU + Linux User  ]
[ @@)  http://maths.qmul.ac.uk/~vnicosia --  GPG: 0B5F062F  ] 
[ (@@@)  Twitter: @KatolaZ - skype: katolaz -- github: KatolaZ  ]


signature.asc
Description: Digital signature
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Announcing the git.devuan.org connection

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 07.03.2017 07:15, Ralph Ronnquist wrote:

> The Projects forum (https://dev1galaxy.org/viewforum.php?id=18)
> organizes Devuan projects into two categories - "devuan-packages /
> infrastructure" and "other projects".  Both categories are presented as
> alphabetical and activity ordered lists. The project lists offer a short
> description (if available) and a convenient, single-click access to all
> projects at git.devuan.org.
> 
> The Issues forum (https://dev1galaxy.org/viewforum.php?id=19) holds
> threads that are automagically created by dev1galaxy's trusty "gdolink"
> bot, from all open issues at git.devuan.org.  The bot will add newly
> opened issues (if any) to the Issue lists, every 30 minutes.  Posting
> these issues on d1g will give greater exposure to issues that are
> currently buried in the gdo 'cave' (which is perceived as inaccessible
> by some).  Opening parallel forum threads provides opportunity for
> discussion and collaborative problem solving that will accelerate
> Devuan's progress and usability.

Could we bridge it to maillists ?
(maybe one list per forum)

--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Fwd: init system agnosticism [WAS: how to remove libsystemd0 from a live-running debian desktop system]

2017-04-14 Thread hal
goli...@dyne.org wrote on 04/13/2017 12:51 PM:


> How about Systemd OS running on a Linux kernel.
> 
> golinux

.. or more simply, SOL
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Jaromil
On Fri, 14 Apr 2017, Enrico Weigelt, metux IT consult wrote:

> Several years ago, I started a project called 'oss-qm' which aimed to
> collect maintenance branches for lots of packages, which solve the
> common problems in a generic way (instead of all the dist specific
> patches), so distros can base their branches on that. The problem then
> wasn't systemd (which handn't been invented yet), but poor upstream QM.

[...]

> Anybody here interested in that ?

being heavily based on git, it could be well compatible with Devuan's
architecture. We'd certainly support the project. It could be
interesting to make it first and foremost compatible with GUIX
packaging, which is something we do want to support in the long term.

ciao

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Announcing the git.devuan.org connection

2017-04-14 Thread Jaromil
On Fri, 14 Apr 2017, Enrico Weigelt, metux IT consult wrote:

> On 07.03.2017 07:15, Ralph Ronnquist wrote:
> 
> > The Issues forum (https://dev1galaxy.org/viewforum.php?id=19) holds
> > threads that are automagically created by dev1galaxy's trusty "gdolink"

> Could we bridge it to maillists ?
> (maybe one list per forum)

it would be perhaps easier to bridge it to https://bugs.devuan.org now
up and running, working as the usual debbugs hence also via email.


bugs.do is becoming our central point of collection for bugs (thanks
Katolaz!). To be seen if gitlab issues will be useful on the long term

ciao

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread info at smallinnovations dot nl

On 14-04-17 11:20, KatolaZ wrote:

On Fri, Apr 14, 2017 at 10:57:01AM +0200, Enrico Weigelt, metux IT consult 
wrote:

[cut]


* srvmgt_daemonize()
   --> detach from controlling terminal, etc
* srvmgt_droppriv(...)
   --> drop root privileges (if we are still root)
   --> several versions, eg. with fetching the target uid/gid from env
* srvmgt_report_state(...)
   --> report the service state to the supervisor
   --> states could be eg.
* SRVMGT_STATE_STARTUP -- still within the startup phase
* SRVMGT_STATE_READY_LOCAL -- ready for local clients only
* SRVMGT_STATE_READY_ALL   -- ready for all clients
* SRVMGT_STATE_BUSY-- too busy to process new requests
* SRVMGT_STATE_SHUTDOWN-- shutting down, still finishing
   queued requests
* SRVMGT_STATE_DEFERRED-- temporarily can't accept new
   requests (eg. overload)
* SRVMGT_STATE_WAITING -- wait for resource (eg. printer
   needs paper or ink)
* SRVMGT_STATE_OFFLINE -- completely offline (eg. due some
   fatal error)

For start, we'd just write a small library, that logs to syslog,
perhaps maintains some pidfiles (maybe even a *compile-time* option
to route directly to libsystemd), then patch up packages that currently
use libsystemd to use our new one.


I personally don't see why one would like to redo libsystemd0 from
scratch, as you seem so kee of doing.

Go on down your path, but I suspect not many people would cheer at you
in this camp...

HND

KatolaZ
I am too do not see a reason to redo libsystemd0 but we can think about 
maintaining a Devuan version of libsystemd0. To ease the maintenance of 
packages depending on those basic api requests.
We simply cannot trust the debian version but a Devuan version should be 
trustworthy.


Grtz,

Nick
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 11:37, Jaromil wrote:

> being heavily based on git, it could be well compatible with Devuan's
> architecture. We'd certainly support the project. 

maybe you'd like to have a look at my github repos to get a better
idea of my approach:

https://github.com/oss-qm
https://github.com/metux

My intention was to use the 'oss-qm' organisation as a central hub.
(i don't really care where it's hosted, it just should be easy to
use for everybody)

> It could be
> interesting to make it first and foremost compatible with GUIX
> packaging, which is something we do want to support in the long term.

What is GUIX ?


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Jaromil
On Fri, 14 Apr 2017, Enrico Weigelt, metux IT consult wrote:

> On 14.04.2017 11:37, Jaromil wrote:
> 
> > being heavily based on git, it could be well compatible with Devuan's
> > architecture. We'd certainly support the project. 
> 
> maybe you'd like to have a look at my github repos to get a better
> idea of my approach:
> 
> https://github.com/oss-qm
> https://github.com/metux
> 
> My intention was to use the 'oss-qm' organisation as a central hub.
> (i don't really care where it's hosted, it just should be easy to
> use for everybody)

can't look deeper into it now, but well, we can consider it at least
as a reference for people preparing and fixing packages.


> 
> > It could be
> > interesting to make it first and foremost compatible with GUIX
> > packaging, which is something we do want to support in the long term.
> 
> What is GUIX ?

distro-agnostic packaging system done right (aka using a functional
language)
https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html

ciao

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread karl
Enrico Weigelt:
...
> Let's just take some example: libsrvmgt with funcs like that:
> 
> * srvmgt_daemonize()
>   --> detach from controlling terminal, etc

Why do any monitor program need to know if the program has detached
or not, the only thing it needs to know is the pid and the state,
which would/could be provided by the *_state() functions,
or am I wrong ?

> * srvmgt_droppriv(...)
>   --> drop root privileges (if we are still root)
>   --> several versions, eg. with fetching the target uid/gid from env

Given the pid, it isn't that hard for a monitor to find the uid/gid of 
the process, why has this have to go through the monitor ?

Also, given that you can do the above without this lib opens gives the
program the option too cheat, say, if the monitor wishes to have a
tight control of the process.

A reliable (well, we have to trust the kernel) way to get the pid
and uid of a sender is through signals, are there any other ways ?

> * srvmgt_report_state(...)
  --> report the service state to the supervisor
...

There could be something like *_a_would_like_to_be_monitored() and
*_I_wish_to_regain_my_free_will().

>  --> states could be eg.
>   * SRVMGT_STATE_STARTUP -- still within the startup phase
>   * SRVMGT_STATE_READY_LOCAL -- ready for local clients only
>   * SRVMGT_STATE_READY_ALL   -- ready for all clients
>   * SRVMGT_STATE_BUSY-- too busy to process new requests
>   * SRVMGT_STATE_SHUTDOWN-- shutting down, still finishing
>  queued requests
>   * SRVMGT_STATE_DEFERRED-- temporarily can't accept new
>  requests (eg. overload)
>   * SRVMGT_STATE_WAITING -- wait for resource (eg. printer
>  needs paper or ink)
>   * SRVMGT_STATE_OFFLINE -- completely offline (eg. due some
>  fatal error)

Given the choises given, it seems that the target of the monitor is
network servers. Couldn't the monitor find out the ready_local,
ready_all and shutdown by itself by monitoring which ports are open ?

What's the difference between busy and deferred, seems to be the same 
thing.

///

And, what if the monitor cannot trust the program it monitors ?

Given the lib suggestion, it seems that we are trusting the program.
But what if if we don't know if we can trust the walues provided by
the program, the we have to check what the program is really doing,
and then the lib have no value, isn't that so ?

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57


___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Simon Hobson
KatolaZ  wrote:

>> For start, we'd just write a small library, that logs to syslog,
>> perhaps maintains some pidfiles (maybe even a *compile-time* option
>> to route directly to libsystemd), then patch up packages that currently
>> use libsystemd to use our new one.
>> 
> 
> I personally don't see why one would like to redo libsystemd0 from
> scratch, as you seem so kee of doing. 
> 
> Go on down your path, but I suspect not many people would cheer at you
> in this camp...

I can see the merit - on two points, technical and political.

On the technical side, I can see the usefulness of a system wide standardised 
service status reporting - making it easy for one process to see if a service 
it depends on is actually running and ready (as opposed to, "has started"). I 
have a customer system I've inherited where it regularly fails to startup 
properly because Asterisk starts before MySQL has finished starting up.
For those of us who put consistency above boot speed, simply changing the init 
script so MySQL doesn't flag as "started" until the daemon is up and ready to 
accept requests would fix it; I can see how many would love to be able to have 
each init script just start and do a "wait for service X to be ready" step, so 
that init could just fire up all the scripts in parallel and they'd start as 
each dependency reached the available state.

On the political side, when the Poetteristas say how horrible startup scripts 
are, and how they don't support parallel/dependency startup - there's be the 
response that "actually, you don't need all that furball of crap called SystemD 
because this simple, clean, minimally interlinked, API does it".

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Simon Hobson
k...@aspodata.se wrote:

> Given the choises given, it seems that the target of the monitor is
> network servers. Couldn't the monitor find out the ready_local,
> ready_all and shutdown by itself by monitoring which ports are open ?

...

> And, what if the monitor cannot trust the program it monitors ?
> 
> Given the lib suggestion, it seems that we are trusting the program.
> But what if if we don't know if we can trust the walues provided by
> the program, the we have to check what the program is really doing,
> and then the lib have no value, isn't that so ?

Well there isn't really any easy way round the "don't trust my programs" 
problem. Your suggestion of monitoring open ports doesn't get round it - what 
if a program opens up port 80 but just "does nothing" with any connections it 
gets ? One way you see that "port 80 is open" and assume the service is up, the 
other way you get a notification that the service is up and assume that it's up.

I really don't see how you can work around that at the supervisor level.

Also, if you are going to detect a service as up just because it's opened one 
or more ports, that means the supervisor needs to know in detail what each 
program does. That goes against all good practice in terms of decoupling 
functions and leads to the systemd problem of massively interlinking stuff that 
doesn't need to be linked.
Not to mention that there may well be services where a port (or socket) is 
opened before the service is actually ready to accept requests. So then you are 
into the supervisor having to know how to talk to each service so as to be able 
to make a request and see if it gets a sensible answer.


But then I'm one of those generally happy with SysVInit style booting. It's 
easy to understand, it's generally reliable, it's fairly easy to debug if 
something isn't right. But I also recognise that others aren't happy and if 
they want to use something else then that's OK by me - as long as what they 
propose isn't something that "infects" stuff I want to run under SysVInit.

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 12:05, Jaromil wrote:

> can't look deeper into it now, but well, we can consider it at least
> as a reference for people preparing and fixing packages.

Can we aggree on some common naming scheme ?

For now I'm just using / as prefix (which is used by my
pbuilder-based packaging tool for detecting the target distro),
but I'm open for discussion. The most important point for me is
having the whole tree (with all patches and debian/ subdir applied)
in one tree, so I never have to cope w/ extra patchqueues anymore.

Perhaps we could also move the upstream's master to a different name
and use that branch for as some starting point for per-package docs,
eg. branch descriptions, etc, etc (maybe as md/textile-based wiki)

>> What is GUIX ?
> 
> distro-agnostic packaging system done right (aka using a functional
> language)
> https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html

hmm, yet another package manager ?

Why not just using docker+friends ?


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 12:06, k...@aspodata.se wrote:
> Enrico Weigelt:
> ...
>> Let's just take some example: libsrvmgt with funcs like that:
>>
>> * srvmgt_daemonize()
>>   --> detach from controlling terminal, etc
> 
> Why do any monitor program need to know if the program has detached
> or not, the only thing it needs to know is the pid and the state,
> which would/could be provided by the *_state() functions,
> or am I wrong ?

That function should also do the daemonizing, so it doesn't need to do
be implemented individually anymore.

BTW: I'd add pidfile handling here, so it's just done once and for all.
Reduces repeated code between individual packages and gives dists a
central hook to do whatever tweaks they might wanna do. Might also come
handy when somebody wants to have per-user services.

>> * srvmgt_droppriv(...)
>>   --> drop root privileges (if we are still root)
>>   --> several versions, eg. with fetching the target uid/gid from env
> 
> Given the pid, it isn't that hard for a monitor to find the uid/gid of 
> the process, why has this have to go through the monitor ?

As above. It's not just notifying, it's doing that. If somebody wants
an explicit notification for whatever reason (maybe just as simple as
a syslog message), he can do it there, instead of within the
individal application.

>>  --> states could be eg.
>>  * SRVMGT_STATE_STARTUP -- still within the startup phase
>>  * SRVMGT_STATE_READY_LOCAL -- ready for local clients only
>>  * SRVMGT_STATE_READY_ALL   -- ready for all clients
>>  * SRVMGT_STATE_BUSY-- too busy to process new requests
>>  * SRVMGT_STATE_SHUTDOWN-- shutting down, still finishing
>>  queued requests
>>  * SRVMGT_STATE_DEFERRED-- temporarily can't accept new
>>  requests (eg. overload)
>>  * SRVMGT_STATE_WAITING -- wait for resource (eg. printer
>>  needs paper or ink)
>>  * SRVMGT_STATE_OFFLINE -- completely offline (eg. due some
>>  fatal error)
> 
> Given the choises given, it seems that the target of the monitor is
> network servers. Couldn't the monitor find out the ready_local,
> ready_all and shutdown by itself by monitoring which ports are open ?

That's not easy - the monitor would need a lot of application specific
handling. For example sendmail doesn't close the inbound socket if it
just cant accept new mails temporarily - instead it just tells that
within the smtp handshake.

My goal here is to have an simple notification for simple scenarios,
where you don't have a full-blown network monitoring (eg. nagios).
The whole thing could also be useful for per-user services that might
not even be accessible from the outside.

> What's the difference between busy and deferred, seems to be the same 
> thing.

A little bit: busy means waiting for some external resource (eg.
printer ran out of paper), while deferred is due some load limit
(too high load, disk full, ...). Maybe we'd have to find better names.

> And, what if the monitor cannot trust the program it monitors ?

It's meant to be trusted (regarding security, etc) - it's just for
easier notification, so that user/operator has at least an idea what's
going on, and allows the monitor to defer startup of other depending
services, etc.

> But what if if we don't know if we can trust the walues provided by
> the program, the we have to check what the program is really doing,
> and then the lib have no value, isn't that so ?

That would be scenarios where any kind of notification to the service
monitor would be useless. My point is that there are indeed some
scenarios where notification can be helpful, and that's only what that
lib is for.


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Jaromil
On Fri, 14 Apr 2017, Enrico Weigelt, metux IT consult wrote:

> On 14.04.2017 12:05, Jaromil wrote:
> 
> > distro-agnostic packaging system done right (aka using a functional
> > language)
> > https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html
> 
> hmm, yet another package manager ?
> 
> Why not just using docker+friends ?

because people think different :^) apologies for my 'done right' btw,
was teasing and yea I'm an opinionated lambdaboy :^)

ciao



___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 12:29, Simon Hobson wrote:

> But I also recognise that others aren't happy and if they want to 
> use something else then that's OK by me - as long as what they
> propose isn't something that "infects" stuff I want to run under
> SysVInit.

Exactly my goal. sysvinit users would probably just have the minimal
version installed, that doesn't do more than a tiny bit syslog()'ing,
others may install more complex versions fitting the service monitor
of their choice.

--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 12:17, Simon Hobson wrote:

> For those of us who put consistency above boot speed, simply changing
> the init script so MySQL doesn't flag as "started" until the daemon
> is up and ready to accept requests would fix it;

But then you'll have kind of daemon who watches mysql until it's really
ready and then signals back to the service monitor, so it can proceed
with the other services. In the long run, sounds like a maintenance
hell to me.

Having an simple status reporting, an application like mysql could at
least tell "hey, I'm not ready yet - give a coffee break". Whether to
actually use it, should be the decision of the operator (and distro
should give a proper default)


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 13:16, Jaromil wrote:

> because people think different :^) apologies for my 'done right' btw,
> was teasing and yea I'm an opinionated lambdaboy :^)

I haven't yet understood what the exact problem to solve, and how that
actually supposed to work.

CMIIW, but to me it looks pretty much like per-user installs. For that
to work across distros (guess we're talking about binary packages),
it would end up in having yet another distro in your $HOME.
In that case we could just do something w/ docker and automatically
mounting your home in there (a bit similar as schroot does) - IOW
use docker for chroot setup and schroot for running applications.


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


[DNG] pbuilder w/ docker

2017-04-14 Thread Enrico Weigelt, metux IT consult
Hi folks,


anyone here already used pbuilder w/ docker ?
(instead of, eg. cowbuilder)

Or is there anything else that can do that ?


--mtx
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Daniel Abrecht
Hi

From my point of view, systemd always tries to keep services running, no
matter how hard they fail, and to mask possible problems when starting a
service, so the service maintainers don't have to fix their service,
which is really unfortunate.

In case of those service state notifications with sd_notify, I think
they are usually used to signal when a service is starting, but not
ready yet. This may seam reasonable at the beginning, but I think it
fixes the problem at the wrong place; When a service needs another
service, but it's temporary unavailable, it should cause an error or
warning to be returned and logged, but it should never be a fatal error
which causes the service to stop. When a service needs to handle this
situation on it's own, it will become more stable over time. If this
task is taken away from it, it will become fragile, and relay on the
service manager. I think this would be really dangerous, because it
could lead to cascades of failing services once one service fails. At
some point, a service manager couldn't possibly handle that anymore and
there would just be waves of restarting and failing processes.

Daniel Abrecht




signature.asc
Description: OpenPGP digital signature
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


[DNG] Busybox Init: Was tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Steve Litt
On Fri, 14 Apr 2017 11:29:12 +0100
Simon Hobson  wrote:

> k...@aspodata.se wrote:
 
> But then I'm one of those generally happy with SysVInit style
> booting. It's easy to understand, it's generally reliable, it's
> fairly easy to debug if something isn't right. But I also recognise
> that others aren't happy and if they want to use something else then
> that's OK by me - as long as what they propose isn't something that
> "infects" stuff I want to run under SysVInit.

Hi Simon,

This is the perfect opportunity to explore this more. Karl is one of
the tiny minority of people to have successfully booted using the
Busybox Init.

Hi Karl, 

How did you like the Busybox Init? Do you still use Busybox
Init, or do you use a different init system for your day to day
computing? I think you once made documentation for how you installed
Busybox Init. If so, could you please post the URL to your
documentation?

SteveT

Steve Litt 
April 2017 featured book: Troubleshooting Techniques
 of the Successful Technologist
http://www.troubleshooters.com/techniques
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Fwd: init system agnosticism [WAS: how to remove libsystemd0 from a live-running debian desktop system]

2017-04-14 Thread Hendrik Boom
On Fri, Apr 14, 2017 at 09:06:13AM +0200, Jaromil wrote:
> dear Hendrik,
> 
> On Wed, 12 Apr 2017, Hendrik Boom wrote:
> 
> > Well, the official policy, insofar as there is one, appears to be that 
> [...]
> 
> thanks for writing down such a clear statement on the matter, its

You are very welcome!

-- hendrik
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


[DNG] Keeping services running: was tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Steve Litt
On Fri, 14 Apr 2017 13:56:32 +
Daniel Abrecht  wrote:

> Hi
> 
> From my point of view, systemd always tries to keep services running,
> no matter how hard they fail, and to mask possible problems when
> starting a service, so the service maintainers don't have to fix
> their service, which is really unfortunate.

If you don't like that aspect of systemd, you're REALLY going to hate
runit, which always restarts crashed/ended daemons. I think sysvinit or
OpenRC would be more to your taste.

That being said, runit has the option of using a ./finish script, which
could report the malfunction and set a filesystem flag to prevent the
service being run again. But that's kinda kludgy.

By the way, I think systemd has the option of not rerunning.

> 
> In case of those service state notifications with sd_notify, I think
> they are usually used to signal when a service is starting, but not
> ready yet. This may seam reasonable at the beginning, but I think it
> fixes the problem at the wrong place; When a service needs another
> service, but it's temporary unavailable, it should cause an error or
> warning to be returned and logged, but it should never be a fatal
> error which causes the service to stop. 

When process dependencies rear their heads, I write my runit run
scripts something like the following, which tests for Internet
connectivity before running the my_kewl_daemon service:

#!/bin/sh
if ping -c1 google.com > /dev/null; then
  exec my_kewl_daemon arg1 arg2
fi
sleep 1

If the ping fails, instead of starting the daemon, it waits a second
plus any time for runit's supervisor to cycle around, and then tries
again. Looking at the preceding, it might seem that with everybody
waiting a second to wait for everybody else, you might experience 5
minute gridlock startups. But in fact, for whatever reason, that
doesn't happen.

The beauty of the way I do it in runit is that I test the actual
performance of the dependent daemon, rather than having either the init
system or the daemon declare that the daemon is functional.

SteveT

Steve Litt 
April 2017 featured book: Troubleshooting Techniques
 of the Successful Technologist
http://www.troubleshooters.com/techniques
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Keeping services running: was tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Martin Steigerwald
Steve Litt - 14.04.17, 12:07:
> On Fri, 14 Apr 2017 13:56:32 +
> 
> Daniel Abrecht  wrote:
> > Hi
> > 
> > From my point of view, systemd always tries to keep services running,
> > no matter how hard they fail, and to mask possible problems when
> > starting a service, so the service maintainers don't have to fix
> > their service, which is really unfortunate.
> 
> If you don't like that aspect of systemd, you're REALLY going to hate
> runit, which always restarts crashed/ended daemons. I think sysvinit or
> OpenRC would be more to your taste.
> 
> That being said, runit has the option of using a ./finish script, which
> could report the malfunction and set a filesystem flag to prevent the
> service being run again. But that's kinda kludgy.
> 
> By the way, I think systemd has the option of not rerunning.

systemd doesn´t restart services by default AFAIK. It does so when you add an 
option to do that to the service file, like in RHEL 7 for SSH daemon with an 
interval of 42 seconds.

Thanks,
-- 
Martin
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Busybox Init: Was tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread karl
Steve Litt:
...
> This is the perfect opportunity to explore this more. Karl is one of
> the tiny minority of people to have successfully booted using the
> Busybox Init.

Why do you make it sound like it is difficult, it isn't something that
you need any advanced skill to solve. It's just that you have to do 
it yourself, the installer won't do it for you.

> How did you like the Busybox Init?

I'm perfectly fine with it, it's just like the bsd startup scripts
in the 80-ties. There is some issues I havn't bothered solve,
/sbin/shutdown doesn't work as is, I have to use busybox poweroff
in a root terminal.

> Do you still use Busybox
> Init, or do you use a different init system for your day to day
> computing?

On some boxes I use bb init, on some other there is sysv.

> I think you once made documentation for how you installed
> Busybox Init. If so, could you please post the URL to your
> documentation?

http://aspodata.se/computing/busybox_init.txt

Regards,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57


___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread karl
Enrico Weigelt:
> On 14.04.2017 12:06, k...@aspodata.se wrote:
> > Enrico Weigelt:
> > ...
> >> Let's just take some example: libsrvmgt with funcs like that:
> >>
> >> * srvmgt_daemonize()
> >>   --> detach from controlling terminal, etc
> > 
> > Why do any monitor program need to know if the program has detached
> > or not, the only thing it needs to know is the pid and the state,
> > which would/could be provided by the *_state() functions,
> > or am I wrong ?
> 
> That function should also do the daemonizing, so it doesn't need to do
> be implemented individually anymore.

What you are requesting is that developers should learn a new api for 
the same end as the old, I won't support that. What is wrong with 
daemon(3) ?

> BTW: I'd add pidfile handling here, so it's just done once and for all.
> Reduces repeated code between individual packages and gives dists a
> central hook to do whatever tweaks they might wanna do. Might also come
> handy when somebody wants to have per-user services.

I'd say that the individual program has no need nor any interest of any 
pid file, it will be running just as fine without it.

A pid file is only in the interest of a monitoring program, so why not 
let the monitor create it for it's own use, why clutter all idividual 
programs with it.

And, you didn't answer the question, is there anything besides the pid and 
the state that a monitoring program needs to know ?

> >> * srvmgt_droppriv(...)
> >>   --> drop root privileges (if we are still root)
> >>   --> several versions, eg. with fetching the target uid/gid from env
> > 
> > Given the pid, it isn't that hard for a monitor to find the uid/gid of 
> > the process, why has this have to go through the monitor ?
> 
> As above. It's not just notifying, it's doing that. If somebody wants
> an explicit notification for whatever reason (maybe just as simple as
> a syslog message), he can do it there, instead of within the
> individal application.

If you "do it there", you are actually doing it within the individual 
program, and if you are so fond of replacing standard libc calls, why 
don't you go the fakeroot route:

 fakeroot  works by replacing the file manipulation library functions
 (chmod(2), stat(2) etc.) by ones that simulate the effect the real library
 functions would have had, had the user really been root. These wrapper
 functions are in a shared library /usr/lib/libfakeroot.so* which is loaded
 through the LD_PRELOAD mechanism of the dynamic loader. (See ld.so(8))

Then you won't need to change any program, your monitor just provides a
libc wrapper containing the wrappers for whatever functions it fancy
monitoring. Why do I have to modify "my" source code just to please a
monitor ?

...
> > Given the choises given, it seems that the target of the monitor is
> > network servers. Couldn't the monitor find out the ready_local,
> > ready_all and shutdown by itself by monitoring which ports are open ?
> 
> That's not easy - the monitor would need a lot of application specific
> handling. For example sendmail doesn't close the inbound socket if it
> just cant accept new mails temporarily - instead it just tells that
> within the smtp handshake.

Well there you have your service notification, it is already 
implemented. Why don't you use it ?
And if you really care about the mail server, you look in its logs.

And, in parenting a child, you always need to know something about 
the child.

> My goal here is to have an simple notification for simple scenarios,
> where you don't have a full-blown network monitoring (eg. nagios).
> The whole thing could also be useful for per-user services that might
> not even be accessible from the outside.

So what are thoose scenarios, if you really want monitoring you could 
use simple setups of mon or nagios. At the other end is: just start the 
program, if it dies, you investigate and complain to upstream.

> > What's the difference between busy and deferred, seems to be the same 
> > thing.
> 
> A little bit: busy means waiting for some external resource (eg.
> printer ran out of paper), while deferred is due some load limit
> (too high load, disk full, ...). Maybe we'd have to find better names.
> 
> > And, what if the monitor cannot trust the program it monitors ?
> 
> It's meant to be trusted (regarding security, etc) - it's just for
> easier notification, so that user/operator has at least an idea what's
> going on, and allows the monitor to defer startup of other depending
> services, etc.

So, this is only about staggered startup at root ?
Why don't other programs just sleep() and retry till the problem is 
gone. You have the same problem if your db is on one box, you dns 
server is on another, etc. Or do you propose that the monitor should 
run multihost ?

> > But what if if we don't know if we can trust the walues provided by
> > the program, the we have to check what the program is really doing,
> > and then the lib have no value, isn't that so ?
> 
> That would be sc

Re: [DNG] [cairo] cairo packaging and Makefile.am.features

2017-04-14 Thread Enrico Weigelt, metux IT consult
On 14.04.2017 18:33, Uli Schlachter wrote:

> configure already generates this. No idea what "complaining", "extra
> preparations", nor "special commands" you mean. (Well, ok, perhaps the
> empty files: This just

Yeah, that was the missing point. turned out that just creating them
in the corresponding hook rule was trivial. Not nice, but i can
live with that.

> So it seems that this needs configure to run. As a side effect this
> generates the proper files. Then you need to run automake again so that
> the proper Makefile.in is created. Which means you need to run configure
> again...

Uuuh, i didn't expect that.

Could it be that it's magically doing that on its own ?
I wonder, because I successfully built it via pbuilder/debuild (but not
tested) yet - with my drm queue applied - and the new symbols appeared.
If it wouldn't work in one pass, then at least the backends should be
missing (if it compiles at all).

>> Therefore, these files *really* should always be autogenerated and
>> strictly kept out of the src tree / tarball.
> 
> They are autogenerated. "make dist" adds it to tarballs since the file
> is included by something.

I dont think the tarball should contain any autogenerated stuff.
That brings the risk that not everything's regenerated, if some patches
applied (especially ugly for distros/packaging). Fortunately it's not
in the git repo (otherwise git-buildpackage would break).


--mtx

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


[DNG] new cairo w/ drm patches

2017-04-14 Thread Enrico Weigelt, metux IT consult
Hi folks,


I've just packaged recent cairo w/ my drm patchqueue applied.
For now just on Trusty (as my workstation's still running it), but
fixing up for devuan should be trivial.


https://github.com/metux/cairo/tree/trusty/master


-- 

mit freundlichen Grüßen
--
Enrico, Sohn von Wilfried, a.d.F. Weigelt,
metux IT consulting
+49-151-27565287
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] grub background image

2017-04-14 Thread Joachim Fahrner

Am 2017-04-10 00:39, schrieb fsmithred:

desktop-base is supposed to handle that, but it's not cooperating. You 
can

bypass it by adding the following (one) line to /etc/default/grub

GRUB_THEME=/usr/share/desktop-base/grub-themes/desktop-grub-them/theme.txt


Thank you for that hint.
The correct entry is:
GRUB_THEME=/usr/share/desktop-base/grub-themes/devuan/theme.txt

This is a very nice grub theme. I'm wondering why this is not set in the 
default installation?


Jochen
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] grub background image

2017-04-14 Thread Daniel Abrecht
On 2017-04-14 19:27, Joachim Fahrner wrote:
> Am 2017-04-10 00:39, schrieb fsmithred:
>
>> desktop-base is supposed to handle that, but it's not cooperating.
>> You can
>> bypass it by adding the following (one) line to /etc/default/grub
>>
>> GRUB_THEME=/usr/share/desktop-base/grub-themes/desktop-grub-them/theme.txt
>>
>
> Thank you for that hint.
> The correct entry is:
> GRUB_THEME=/usr/share/desktop-base/grub-themes/devuan/theme.txt
>
> This is a very nice grub theme. I'm wondering why this is not set in
> the default installation?
>
> Jochen

I don't have that file. Which package contains it?

Daniel Abrecht




signature.asc
Description: OpenPGP digital signature
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Simon Hobson
"Enrico Weigelt, metux IT consult"  wrote:

>> For those of us who put consistency above boot speed, simply changing
>> the init script so MySQL doesn't flag as "started" until the daemon
>> is up and ready to accept requests would fix it;
> 
> But then you'll have kind of daemon who watches mysql until it's really
> ready and then signals back to the service monitor, so it can proceed
> with the other services. In the long run, sounds like a maintenance
> hell to me.

Which is why I said I can see some value in a simple communication/notification 
system. Ideally you'd have MySQL itself make status calls along the lines of 
"I'm starting but not ready" and hopefully end with "I'm now ready for 
business". The latter would then allow other processes that depend on a working 
database to continue.
At present, IIRC the script starts the MySQL process, then loops round waiting 
for  to appear - at which point it assumes MySQL is ready for action 
and prints OK on the console.


That way, there's a standard way for processes to communicate their status, and 
a simple and standard way for dependent processes to determine if something 
they need is ready yet.

___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] We need to speak up

2017-04-14 Thread golinux

On 2017-04-14 05:44, Enrico Weigelt, metux IT consult wrote:

On 14.04.2017 12:05, Jaromil wrote:


can't look deeper into it now, but well, we can consider it at least
as a reference for people preparing and fixing packages.


Can we aggree on some common naming scheme ?



Perhaps these pages will help to clarify Devuan's  naming scheme and 
packaging protocol:


https://devuan.org/os/filenaming

and

https://dev1galaxy.org/viewtopic.php?id=549

golinux


___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Daniel Abrecht
On 2017-04-14 20:16, Simon Hobson wrote:
> "Enrico Weigelt, metux IT consult"  wrote:
>
>>> For those of us who put consistency above boot speed, simply changing
>>> the init script so MySQL doesn't flag as "started" until the daemon
>>> is up and ready to accept requests would fix it;
>> But then you'll have kind of daemon who watches mysql until it's really
>> ready and then signals back to the service monitor, so it can proceed
>> with the other services. In the long run, sounds like a maintenance
>> hell to me.
> Which is why I said I can see some value in a simple 
> communication/notification system. Ideally you'd have MySQL itself make 
> status calls along the lines of "I'm starting but not ready" and hopefully 
> end with "I'm now ready for business". The latter would then allow other 
> processes that depend on a working database to continue.
> At present, IIRC the script starts the MySQL process, then loops round 
> waiting for  to appear - at which point it assumes MySQL is ready 
> for action and prints OK on the console.
>
>
> That way, there's a standard way for processes to communicate their status, 
> and a simple and standard way for dependent processes to determine if 
> something they need is ready yet.

I still think this isn't a problem the service manager should attempt to
solve. This is a situation where the database is temporary unavailable,
for which there are many possible reasons. The services which relay on
the database should be able to handle such a situation gracefully, or
they are just not yet stable enough.
I would expect a service which has to handle a task for which it needs
the database to return an error in this situation, but to continue
working. Once the database is available, and a new task arrives which
requires the database, the service should work as expected. If such a
service needs to do some initialization using the database, it can just
re-queue that until the first successful database connection. This way,
there isn't even a need to start the database first, the service would
be rock solid, and there wouldn't be any need for the service manager to
handling such edge cases. Just keep it simple.




signature.asc
Description: OpenPGP digital signature
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] grub background image

2017-04-14 Thread golinux

On 2017-04-14 14:36, Daniel Abrecht wrote:

On 2017-04-14 19:27, Joachim Fahrner wrote:

Am 2017-04-10 00:39, schrieb fsmithred:


desktop-base is supposed to handle that, but it's not cooperating.
You can
bypass it by adding the following (one) line to /etc/default/grub

GRUB_THEME=/usr/share/desktop-base/grub-themes/desktop-grub-them/theme.txt



Thank you for that hint.
The correct entry is:
GRUB_THEME=/usr/share/desktop-base/grub-themes/devuan/theme.txt

This is a very nice grub theme. I'm wondering why this is not set in
the default installation?

Jochen


I don't have that file. Which package contains it?

Daniel Abrecht




It's in desktop-base.

golinux
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread Steve Litt
On Fri, 14 Apr 2017 21:16:18 +0100
Simon Hobson  wrote:

> "Enrico Weigelt, metux IT consult"  wrote:
> 
> >> For those of us who put consistency above boot speed, simply
> >> changing the init script so MySQL doesn't flag as "started" until
> >> the daemon is up and ready to accept requests would fix it;  
> > 
> > But then you'll have kind of daemon who watches mysql until it's
> > really ready and then signals back to the service monitor, so it
> > can proceed with the other services. In the long run, sounds like a
> > maintenance hell to me.  
> 
> Which is why I said I can see some value in a simple
> communication/notification system. Ideally you'd have MySQL itself
> make status calls along the lines of "I'm starting but not ready" and
> hopefully end with "I'm now ready for business". 

Sounds like a good idea, but it's not, for the following reasons:

1) There will be endless arguments about HOW each and every daemon will
   let its init system know "I'm now ready for business". The number of
   different ways will make the number of incompatible Unixes of 1985
   seem trivial to reconcile.

1.5) The resource daemon's opinion of being "ready for business" might
 be erroneous, or not reflect how the user daemon will use the
 resource daemon.

2) The connected and powerful will unilaterally declare one method of
   "phoning home" is the one true way, thereby driving compatability
   wedges between various software, and facilitating the defacto
   banning of some daemons from a distro.

3) If the "one true way" is complex, for instance, if it has to
   intimately mesh with dbus (sy what?), small daemon projects
   will be ostricized out of the community.

4) The problem this backward communication purports to solve was solved
   around the time the Western Roman Empire was conquored by the
   Barbarians. Regardless of your init system, run your daemons from
   daemontools, and have your daemontools run scripts refuse to start
   unless a test of the needed resource indicates it's working.
   Whatever init system you're using, it's easy to get Daemontools, or
   preferably Daemontools-Encore, running.[1]

A word about the source of this thread: A guy, whom I /dev/nulled over a
year ago for making very disturbing political posts in response to
technical discussions, magically woke up a few days ago and started
resurrecting all sorts of dead threads. My /dev/null log tells me he's
sent 20 or 30 emails. I don't begin to know what causes this person to
act this way, but he's not a friend of our community, and we might want
to think twice about responding to him, even in the few cases where he
has a good idea.

[1] To run daemontools-encore, download the lastest tarball, untar it,
modify its conf-* files to reflect correct directories and compile
commands (usually unnecessary if you're using gcc on Linux), make,
become root, make install, make the repository for daemontools
daemons (I used /etc/daemontools/service), make the symlink
directory (I used /var/daemontools/service), then edit the
svscanboot file to reflect the actual directories that are being
used, run svscanboot, and then make run files under the repository
and symlink them to the symlink directory to install daemons. This
way, no matter what init system you're using, you have a complete
supervisor for daemons you believe need to be supervised. And pay
no attention to the guy on Debian-User who tells you not to use the
svscanboot file to instantiate your daemontools system.[2]

[2] Recently a guy posted on Debian-User that you shouldn't use the
svscanboot shellscript to start up daemontools. He states a few
edge-case situations where svscanboot has bugs, most of which have
nothing to do with Linux or normal Intel/AMD hardware. He links to
a few people who have run daemontools by doing various init-foo
instead of just spawning svscanboot. He just loves to hear himself
hold forth on all things technical, but what he forgets to tell
his audience is:

1) svscanboot is by far the simplest way to run daemontools.

2) djb created svscanboot, and although this guy holding forth is
   very smart (IMHO in a Poettering sort of way), if you're going
   to criticize djb on technical grounds, your name had better be
   Einstein or Hawking.

3) Differently named copies of svscanboot, each with its own
   directories, can implement some degree of startup order in
   daemontools, even though daemontools is widely regarded as
   having indeterminate start order.

4) If one were to run into one of those edge cases where a
   daemontools system has bugs if started with svscanboot, they
   might be fixable by changing the svscanboot shellscript, and
   that would be infinitely preferable than all sorts of init-foo.

 
SteveT

Steve Litt 
April 2017 featured book: Troubleshooting Techniques
 of the Successful Techno

[DNG] /etc/debian_version

2017-04-14 Thread Gregory Nowak
Hi all.

So I noticed that on systems upgraded to devuan jessie from debian
wheezy, I still have a /etc/debian_version. I don't have this file on a
couple devuan systems installed from scratch.

I figured I didn't need a /etc/debian_version reading 7.1.1 anymore,
so I blew it away on one of my upgraded systems. Nothing exploded when
I did this, except that when I do upgrades, I am seeing the message:

cat: /etc/debian_version: no such file or directory.

I can probably put that file back, and all would be good. However, my
question is what is still looking for that file during apt-get
dist-upgrade, and more to the point, how can I make this message
during upgrades stop without bringing back /etc/debian_version? Thanks
in advance for any input.

Greg


-- 
web site: http://www.gregn.net
gpg public key: http://www.gregn.net/pubkey.asc
skype: gregn1
(authorization required, add me to your contacts list first)
If we haven't been in touch before, e-mail me before adding me to your contacts.

--
Free domains: http://www.eu.org/ or mail dns-mana...@eu.org
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] tiny service state api [WAS: Fwd: init system agnosticism]

2017-04-14 Thread marc
> > Go on down your path, but I suspect not many people would cheer at you
> > in this camp...
> 
> I can see the merit - on two points, technical and political.
> 
> > On the technical side, I can see the usefulness of a system
> wide standardised service status reporting - making it easy
> for one process to see if a service it depends on is actually
> running and ready (as opposed to, "has started"). I have a
> customer system I've inherited where it regularly fails to
> startup properly because Asterisk starts before MySQL has
> finished starting up.

So it turns out that there exists an subtle yet elegant mechanism
for a process to report that it is ready. It has been in use 
for decades - daemons as old as sysklog from the previous century 
use it. 

I have written up the details at 
http://welz.org.za/notes/on-starting-daemons.html

The TLDR is that "A good daemon should fork soon, but have the
parent process exit only once the child is ready to service requests"

Sadly it seems too subtle for many people and the concept goes
un-noticed ... 

regards

marc
___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng