Thoughts on GnuPG and automation

Hans-Christoph Steiner hans at
Mon Mar 9 20:22:04 CET 2015

Werner Koch:
> On Tue,  3 Mar 2015 21:29, hans at said:
>> * Android will kill apps when it needs to, app lifecycle is automatically managed,
>>  the app has no control over it, and often zero warning is given
> That is the same as with Linux.  Ever heard of the OOM killer?

OOM killer is only comparable to the Android lifecycle in that it has the
power to kill processes.  In Android, apps are killed regularly, often many
times a day.  GNU/Linux was designed around the user telling a process to end
(i.e. File->Quit or TERM).  OOM killer is only a last resort in extreme
situations. Android is designed around the system entirely determining when
apps are terminated.

>> * Android was not meant to support launching processes from a shell/terminal,
>>  it was there for core debugging, then opened up on demand from devs, but it
>>  is very much a second class citizen to a Java Android app.
> Why do you want to launch a process from a shell or terminal (actually a
> shell is just an interpreter which has options to be used on a tty (job
> control etc.))
>> * all apps are child processes of 'zygote'
> All processes excuted from GPGME are children of init. What is the
> problem?
>> * there is no way to install shared libraries to be shared by apps
> I can't comment on this.
>> There are other differences as well.  And iOS actually works a lot
> Given that we worked together on adding features to GnuPG and GPGME for
> use on Android I can't see your point.  Given that Android uses a Unix
> kernel it is much more Unix than Windows or VMS.
> You are thinking in the context of an application which runs on that
> Android Unix kernel.  That might be indeed limited.  However we are
> hackers and we can find ways to make almost everything work.

It is a Linux kernel, which is most often used in UNIX-style OSes.  But
Android does not follow UNIX style, and Linux does not require an OS to follow
them either.  For example, in Android, UIDs and GIDs represent system
permissions, not users and groups.  You are going to be confusing things if
you expect Android's Linux kernel to provide a UNIX environment for you.  Even
when Android's Linux kernel does support UNIX-ish things like symlinks, the
Android runtime layer does not treat them as first class citizens.  Even
things like mount paths work differently in Android.  A given mount path can
have multiple simulatenous locations mounted to it, one per Android user account.

> Shall we sit down and talk about the Android problems?  If we can do that
> close to my place I will be available most of the time.  If it is better
> for you to do it somewhere else, like Berlin, we need a bit more
> planning.  Travel expenses should not be a concern.

Sure, that sounds good.  I'm sorry I can't make the April meeting.  I'll be
back in Europe this summer indefinitely.  I might be able to put together a
multi-pronged trip to your area of the world, if that makes sense.  But
perhaps it makes the most sense to have a meeting at a relevant conference or
similar thing.


PGP fingerprint: 5E61 C878 0F86 295C E17D  8677 9F0F E587 374B BE81

More information about the Gnupg-users mailing list