I'm working on OSCAR Cluster project and SystemImager projects, and I'm doing packaging for those software (multiple packages for OSCAR Cluster). I'm also contributing to jobmonarch packaging.
As part of the OSCAR project (which I'm planning to port to openmandriva sooner or later), I'm in the process of supporting systemd, and in that process I've just hit the atftpd packaging following issues: 1/ I'm unable to find LSB infos about systemd rules (checked V4.1 of LSB Core). Does it exists? 2/ What is the correct localtion for tftpboot directory? I've read that /srv/tftp would be LSB, but I can't find this in any document. (used by debian). I've seen that opensuse uses /srv/tftpboot. rhel and fedora uses /var/lib/tftpboot. But in the end, who is right? I mean is there somewhere any info that a tftp service must comply to some LSB rules? 3/ I'm stuck with a dilemma: should the service be a SyvInit script (running all the time) or an xinetd service? suse alow choice but defaults to init service. debian allow both but defaults to xinetd, no fedora package or rhel package (but their simple tftp service is using xinetd). and OpenMandriva has contradictions about this: the /etc/sysconfig/atftp is shipped with ATFTPD_USE_INETD="no", but the init script will use xinetd if no sysconfig file is found. Strange. BTW, the is a bug in openmandriva init.d: if use xinetd, the --daemon options should be stripped down from options, and if not used it should be added if missing (just like in the debian init script). echo "$OPTS"|grep -q -- --daemon || OPTIONS="--daemon $OPTS" I would put that line 67 (https://abf.rosalinux.ru/openmandriva/atftp/blob/openmandriva2013.0/atftpd.init.d) 4/ To my knowledge, systemd does not allow to have either a service defined as a socket and as a service with install section. This means this means that ATFTPD_USE_INETD is not possible. Right? => If not possible, is there any directive (openmandriva packaging, LSB, systemd rules, ...) regarding tftp protocol and systemd packaging? 5/ The /etc/sysconfig/atftpd options file is incompatible with a systemd implementation as there is no way to control the --daemon flag in ATFTPD_OPTIONS. (or I don't know how to do that). EnvironmentFile=/etc/sysconfig/atftpd ExecStart=/usr/sbin/atftpd $ATFTPD_OPTIONS $ATFTPD_DIRECTORY Won't allow to check --daemon option for example while having variable for most important options could result in a starting line like the following: ExecStart=/usr/sbin/atftpd --user ${?ATFTPD_USER:nobody} --group ${?ATFTPD_GROUP:nobody} --port ${?ATFTPD_PORT:69} ${?ATFTPD_DIRECTORY:/var/lib/tftpboot} In other words, do you at openmandriva have any packaging rules when migrating a thing like atftp (which can run as xinetd service or as a standalone daemon) to systemd? - 2 packages? (one providing /usr/bin/atftpd and a .service file and one providing /usr/bin/in.tftpd and a .socket (+.service) files?) - 1 package (chose one or another solution)? Many thanks for an typs, pointers etc... Best regards. -- Olivier LAHAYE CEA DRT/LIST
