chiark / gitweb /
units: schedule tmpwatch on idle class
[elogind.git] / fixme
diff --git a/fixme b/fixme
index 55df3be713cb193949389acf854f20fc277ce28d..6b1e8640045fa27bda727d428d1eaf1e667223af 100644 (file)
--- a/fixme
+++ b/fixme
+v11:
 
-- trigger mounting; mounts might take time, need to be executed asynchronously in a forked process?
+* have a simple syslog bridge providing /dev/log and forward messages
+  to /dev/kmsg. at the moment the real syslog can be started, the bridge
+  is stopped and the open /dev/log fd to the real syslog. that way we
+  don't lose any early log message, and simple systems have full syslog
+  support in the kernel ringbuffer, without any syslog service or disk
+  access
 
-- need gc for active jobs that nothing cares for
+* emergency.service should start default.target after C-d. synchronize from fedora's initscripts package
 
-- need gc for units that are not referenced anymore
+* drop empty assignments for parse_env_file
 
-- refreshing of units (i.e. reload config files)
+* stability promise must say that #ifdef TARGET_XXX style distro compatibility will go away one day
 
-- further dbusification (i.e. export dependency information, per-unit-type data)
+* enable tmpfiles by default
 
-- cgroupsification
+later:
 
-- snapshot system
+* do not throw error when .service file is linked to /dev/null
 
-- add a job mode which shuts everything down but what is requested
+* oneshot services which do not remain: 'exited' instead of 'dead'?
+  it should be visible in 'systemctl' that they have been run
 
-- implement timer
+* dot output for --test showing the 'initial transaction'
 
-- implement automount
+* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
 
-- create session/pgroup for child processes? handle input on console properly? interactive fsck? interactive luks password?
+* implicitly import "defaults" settings file into all types
 
-- fs namespaces
+* "disabled" load state?
 
-- templating/instances
-
-- verify fragment data after loading: refuse cycles on yourself, service units contradicting, more than one Start executable, ...
-
-- .socket needs to be notified not only by .service state changes, but also unsuccessful start jobs
-
-- we probably cannot use glibc's syslog() for logging, since it
-  presumably uses the logging socket in blocking mode which might
-  trigger a deadlock if syslog does not process the socket anymore
-  (maybe because it is restarted) and the socket buffer is full.
-
-- in udev/mount if properties change we need to delete the old
-  settings and install the new settings. Deleting the old settings is
-  currently missing.
-
-- ability to kill services? i.e. in contrast to stopping them, go directly
+* ability to kill services? i.e. in contrast to stopping them, go directly
   into killing mode?
 
-- restart-on-success, restart-on-failure, restart-on-abort, restart-on-name-gnone
-
-- port over to LISTEN_FDS/LISTEN_PID:
-
+* port over to LISTEN_FDS/LISTEN_PID:
    - uuidd    DONE
-   - nscd     DONE
-   - rpcbind (/var/run/rpcbind.sock!)
-   - dbus
-   - rsyslog
-   - cups
+   - dbus     DONE
+   - rsyslog  DONE
+   - rpcbind (/var/run/rpcbind.sock!) DONE
+   - cups     DONE
+   - avahi-daemon (/var/run/avahi-daemon/socket) DONE
    - ssh      CLASSIC
    - postfix, saslauthd
    - apache/samba
    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
-   - avahi-daemon (/var/run/avahi-daemon/socket)
    - distccd
 
-- teach dbus to talk to systemd when autospawning services
+* write utmp record a la upstart for processes
+
+* selinux policy loading
+
+* fingerprint.target, wireless.target, gps.target
+
+* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
+
+* fix merging in .swap units
+
+* chkconfig/systemd-install glue
+
+* io priority during initialization
+
+* if a service fails too often, make the service enter failed mode, and the socket, too.
+
+* systemctl enable - warn about empty [Install] section
+
+* bash completion a la gdbus
+
+* systemctl list-jobs - show dependencies
+
+* ConditionFileExists=, ConditionKernelCommandLine=, ConditionEnvironment= with !
+
+* accountsservice is borked
+
+* auditd service files
+
+* add systemctl switch to dump transaction without executing it
+
+* system.conf/session.conf man page
+
+* exec /sbin/poweroff as PID 1 and do the shutdown
+
+* kexec, suspend, resume
+
+* passphrase agent https://bugs.freedesktop.org/show_bug.cgi?id=30038
+
+* support dbus introspection in mid-level object paths, i.e. in /org/freedesktop/systemd/units/.
+
+* systemctl auto-pager a la git
+
+* fsck setup
+
+* merge CK
+
+* ask-password tty agent, ask-password plymouth agent
+
+* plymouth update status hookup
+
+* ask-password tty timeout
+
+* properly handle multiple inotify events per read() in path.c and util.c
+
+* readahead: btrfs/LVM SSD detection
+
+* document locale.conf, vconsole.conf and possibly the tempfiles.d and modules-load.d mechanism.
+
+* when /proc/self/mountinfo is not parsable, proceed with next line
+
+External:
+
+* place /etc/inittab with explaining blurb.
+
+* pam_securetty should honour console=
+
+* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
+
+* nologin nach /var/run https://bugzilla.redhat.com/show_bug.cgi?id=624489
+
+* make sysinit honour forcefsck/fastboot from the kernel command line fsck.mode=auto|force|skip
+
+* pam: fix double sudo session cleanup:
+  http://www.gratisoft.us/bugzilla/show_bug.cgi?id=421
+
+https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
+https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
+https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
+https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
+https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
+https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
+https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
+http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
+http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
+https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
+https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
+https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
+https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
+https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
+https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
+https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
+https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
+https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
+http://sources.redhat.com/bugzilla/show_bug.cgi?id=11930 -- glibc
+
+Regularly:
+
+* look for close() vs. close_nointr() vs. close_nointr_nofail()
+
+* check for strerror(r) instead of strerror(-r)
+
+* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
+
+* %m in printf() instead of strerror();
 
-- unix sockets chown()/chgrp()
+* pahole
 
-- watch dbus names for figuring out when a service has finished startup/goes down
+* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"