[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[GSoC Report] Week 6 & 7 - Systemd Unit Translator



Hello, everyone!

I was sick for the majority of week 6 so I couldn't get a lot of work done
during that period, which I'll be making up for by working an extra week (July
27 - August 02).

STATS

  An index is now being kept in the
  README[https://git.kayg.org/gsoc-2020/translator] as instructed by Benda.

  Statistics as of July 27:
    Services:
      Total: 76
      Success: 69
      Failure: 7

      Ratio: 0.91

    Sockets:
      Total: 6
      Success: 5
      Failure: 1

      Ratio: 0.83

    Timers:
      Total: 6
      Success: 6
      Failure: 0

      Ratio: 1.00

TIMERS

  So, updates! Last week, I finally sat down with a tmux split window open,
  ready to fiddle with some regex. At the end of it, there was support for
  normalized calendar events. A bit on how it works:

  The timer script checks first for special expressions like "Minutely",
  "Hourly", "Daily", etc. and if they exist, it performs a simple conversion. If
  none of those exist, and instead there's a timestamp, it is first normalized
  with: `systemd-analyze calendar "<expression>"`. Then a check is made for the
  existence of '..' (range) or ',' (separators for multiple items). Using bash's
  regular expressions support for groups, day, month, etc are captured.
  Occurrence of '..' is changed to the cron equivalent '-'.

  Current limitation is that it won't handle something too complex -- for
  example, a calendar event which makes use of both '*' and '-'.

SCHEDULE

  Documentation and creating a manual were a part of August's schedule but
  because I wasn't able to open a repository for testing, owing to my health, I
  chose to instead open the stage up next month when most of the work has been
  completed on the translator. With the time gained, I took it to myself to
  start work on documentation and a manual.

DOCUMENTATION

  The README document is now updated to describe the usage of the translator.
  Additional work has been done to explain parts of code with comments, and
  simplify and break down the more complicated parts of the code. The document
  now contains the following:

    - About
    - Dependencies
    - Usage
    - Index
    - References

MANUAL

  A manual is now available
  [https://git.kayg.org/gsoc-2020/translator/src/branch/openrc/manual.org]. The
  source file is in org-mode which was exported with `pandoc` to the man format.

  Primary reference while making the manual was the socket-activate
  page[https://manpages.debian.org/unstable/socket-activate/socket-activate.1.en.html],
  which is also a tool this project makes use of.

  The manual contains the following sections:

    - NAME
    - SYNOPSIS
    - DESCRIPTION
    - USAGE
    - LIMITATIONS
    - COPYRIGHT
    - AUTHORS

PLANS

  - Finish up on documentation and the manual by the end of this week (July 27 - August 02).

  - Fix remaining service files where translation fails because of multiple
    occurrences of directives or special executable prefixes which are currently
    ignored.

  - Make a repository in Debian's salsa to facilitate more testing and bug-fixes
    by the end of this week (July 27 - August 02).

Regards,
K Gopal Krishna
[https://kayg.org/]


Reply to: