-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
1379 lines (1134 loc) · 51.9 KB
/
ChangeLog
File metadata and controls
1379 lines (1134 loc) · 51.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2008/2/18: Ryan Hope
? initramfs support
* timezone support
? urandom
* bootchart support
* curses feedback daemon
* better guile support
* more scheme modules
* network-v2
* module-logic-v4
* logd
* ipc-9p
2007/11/26: Ryan Hope
* scheme modules
* edev
* switched to git
* hotplug handler
2007/04/30: mdeininger
* enhanced feedback
* fixed some deadlocks
2007/04/24: mdeininger
i'm getting quite lazy about updating this file... have a look at the svn
revision history for closer details ;)
* implemented shutdown-(before|after)
* fixed problems with before/after (should work again)
2007/04/15: mdeininger
* more API changes...
2007/04/14: mdeininger
* API changes... lots of 'em...
2007/04/12: mdeininger
* changes to the feedback and feedback auto-add code
* new feedback module for festival (gonna use a thread like with fbsplash)
2007/04/11: mdeininger
* a number of minor fixes
* the new core seems to be doing quite well
2007/04/10: mdeininger
* new core mostly operational.
* changed configure script to support modules in C++
* added template for C++ module (ipc-dbus)
2007/04/09: mdeininger
* started on a new more-or-less event-based module logics core
2007/04/08: mdeininger
* made suff cleaner by removing the 'feedback' mode, but also auto-adding
a feedback module if none is specified
2007/04/05: mdeininger
* added options="feedback" to daemon/shell modules to tag them as feedback-
modules (gonna be useful for the fbsplash module)
* moved re-mounting the root-filesystem to mount/critical
* the fbsplash module seems to work just fine =)
* moved the control socket to /dev/einit-control
* removed module reset/reload/zap hooks in favour of "custom" hooks
* changed mount/* to mount-
2007/04/03: mdeininger
* parsed some of the configuration in the wrong function/forgot updates
* "list services" has been moved to the module-logics core, + it will now
display candidates in the order that einit will try to deal with them.
* added envfile="" support
* added is-up="" and is-down="" attrs to daemons -- they run after the daemon
is forked -- if the return value is shell-ish true, then the appropriate
change to the daemon is considered successful, else it is seen as failed
* added need-files="" to daemons -- just add a list of files that must exist
or else einit won't even try to bring it up (if the list is available).
* new module: configuration-network
2007/04/02: mdeininger
* need to split that configuration up :D
* use /etc/fstab by default
* introduced a new readdirfilter() function, we did do that a lot...
2007/04/01: mdeininger
* started on a custom set of (m|re|c)alloc() functions
* modified configure script to add files to link into the core
[2006/04/01: mdeininger: release, Version 0.21.0]
[2006/03/27: mdeininger: release, Version 0.20.0]
2007/03/22: mdeininger
* logging works
* output is a little clearer
2007/03/21: mdeininger
* logging kinda works...
2007/03/20: mdeininger
* stripped einit-control even further
2007/03/19: mdeininger
* fixed/enhanced the build system
* added some very simple hashing to the tree-linear code...
seems to decrease execution time considerably
2007/03/18: mdeininger
* some good progress with compiling modules into the core
2007/03/14: mdeininger
* need to be able to compile modules in.
2007/03/13: mdeininger
* this should get us more "const-correct" :)
* fixed some annoying compiler warnings
* moved /etc/einit-control to /etc/einit/control
2007/03/11: mdeininger
* introduced a new function to check for string matches (strmatch())
2007/03/09: mdeininger
* added support for ryan's shadow modules
2007/03/07: mdeininger
* fixes, cleanups, new apach2 module
2007/03/05: mdeininger
* some new modules, random fixes
2007/03/01: mdeininger
* the v3 module logics core is now by default external
* the default expat configuration parser is now external as well.
2007/02/28: mdeininger
* more preparations to get more stuff out of the core.
2007/02/27: mdeininger
* shell-gdm should also provide "xdm"
* the v3 core is now the default
* fixed some deadlocks in the v3 module-logics core
* pexec() seems to be less flakey now
2007/02/25: mdeininger
* some new macros
* new module logics core is coming along nicely
2007/02/22: mdeininger
* fixed readfile() problem with .keep files
2007/02/21: mdeininger
* new new module logics core, again
2007/02/20: mdeininger
* added service transformations
* build system changes
* moved get_plan_progress from the visualiser to the module-logic.c file
* new sobexsrv module by RedIpS -- nice man ;)
2007/02/19: mdeininger
* etc/einit/einit.xml has been moved to lib/einit/einit.xml
(einit.xml should not be modified by users)
* lib/einit/*.so have been moved to lib/einit/modules
* added code to read and use the sysctl.conf file
* ha, found the bloody bugger
* the xml configuration parser may now create missing include directories
itself
* new ipc command "set variable"
* new ipc command "save configuration"
2007/02/18: mdeininger
* new function for error reporting (and optional hara-kiri)
* workover using -Wall
* added some code to check for errors (that normally need not be checked)
2007/02/16: mdeininger
* fixed some minor things
2007/02/15: mdeininger
* extra module for entranceD (additional to the entrance module from earlier)
* "list services" will now list deprecated modules with a red "-" instead of
the usual *
* fixed a stray malloc()
2007/02/08: mdeininger
* new module for ipc commands that modify the configuration
2007/02/07: mdeininger
* output for aforementioned ipc call
2007/02/06: mdeininger
* ipc call to get configuration nodes
[2006/02/05: mdeininger: release, Version 0.16.0]
2007/02/04: mdeininger
* added a cfg_filter() function
2007/02/02: mdeininger
* added "rc zap" command
* einit-control should now auto-add --ansi if appropriate
2007/02/01: mdeininger
* made einit-mod-exec and einit-mod-daemon check variables with --wtf
* minor cleanups
* added ipc command-chaining code -- run other commands if a certain one has
been run... like, run "examine configuration" right after "update
configuration" has been called
* fixed mod-daemon and mod-exec to only record their module-structs *once*
2007/01/29: mdeininger
* well, this really oughta fix the piping thing now...
2007/01/28: mdeininger
* fixed einit-control hangs
* might've fixed the piping issue
* hopefully got the pid="" attribute to work properly with daemons
2007/01/27: mdeininger
* fixed einit-external
2007/01/26: mdeininger
* fixed some things about aliasing
* got the command to list services, "list services" to do it properly.
* changed internal handling of IPC I/O
* added pexec-option dont-close-stdin
* added a pid= attribute to daemon and shell modules that will automatically
erase the file specified with it when the module goes down makes sure it's
not there when getting it up (good idea ryan!)
2007/01/25: mdeininger
* made pexec() output things that are not in the feedback| form
* fixed logic flaw in default pexec options
* added prepare/cleanup attributes to shell-modules
2007/01/23: mdeininger
* made einit-tty switch to feedback-vt when being disabled
* prepare/cleanup commands are now immune to the set user/group
2007/01/22: mdeininger
* wonder what's with umount lately...
* hopefully fixed "Invalid Argument" error with mode-switches
* problems with a... kernel panic on shutdown...?
* slightly improved verbosity
* verbose output on tty10 and progress indicator are now disabled by default
2007/01/21: mdeininger
* split experimental modules from the main source tree
* split out less useful sysv compatibility modules
* configuration file cleanups
* added module build-number checks
* added different system for getting the build-number straight in modules
2007/01/20: mdeininger
* split set functions from utility.[ch]
* split gentoo-only modules from the main source tree
2007/01/19: mdeininger
* fixed deadlock in shutdown (mounter)
* fixed clock-skew infinite loop
* added panic check to mode-switches
* some work on the fbsplash feedback (+ ryan made a nice module to set console
backgrounds)
2007/01/18: mdeininger
* fixed a visualiser SIGBUS
* added code to maintain mtab
* removed separate mtab structure
* fbsplash support (well, started on the module, anyway)
2007/01/16: mdeininger
* some umount logics
* fixups to the process-collector
* name for critical mount points has changed
* (cheap) code to guess how far into a plan we are right now
2007/01/15: mdeininger
* (hopefully) fixed random problems with einit-control getting "stuck"
2007/01/14: mdeininger
* minor documentation fix (paludis)
2007/01/12: mdeininger
* compile fixes (pthread bug code and man pages)
2007/01/11: mdeininger
* need to write proper man pages...
* should stop using sys_errlist and the like
2007/01/09: mdeininger
* minor documentation update (really need to tackle that :-/)
* updated sh-style variable import module (should work, no longer disabled by
default)
* keymap and hostname are now imported from gentoo'S configuration by default
2007/01/08: rmh3093
* lots of cleanups in einit.xml, new modules
* version bump (0.15.1)
* updated ebuilds
2007/01/08: mdeininger
* created a runscript-einit.sh script that translates init.d calls into einit
"einit-control rc x y" calls.
* modified the gentoo-compatibility module to use /sbin/runscript-einit.sh
instead of /sbin/einit-control
* moved sh-parser to its own file
* added template for a secondary configuration module that will parse settings
from sh-style configuration files
* new conditional for xml configuration files: file-exists=""
* almost got the importer working, i'll finish that tomorrow. configuration.*
modules are thus disabled by default
2007/01/07: mdeininger
* cut out mount/root in favour of mount/system
* some fixes and tweaks for pexec()
* udevstart is being a bitch... trying to fix udev in general (at least the
order in which things are started should fit now...)
* found the bug: udevstart needs a stdin to work properly
2007/01/06: mdeininger
* updated copyright notice
* fixed some incorrect flags while building
* eww, friggen stupid mistake causing lockups...
* traced the weird lockup bugs to circular dependencies created by gentoo's
"after"-dependencies... disabled them until this can be resolved
* cleanups in pexec()
* i think i got feedback from pexec() working...
* better support for gentoo-ish scripts
* added code to mark all init-scripts as "deprecated"
2007/01/05: mdeininger
* tended to that "lock bug"
* protection against circular dependencies (theoretically...)
(well, started on that code anyway)
2007/01/04: mdeininger
* bugbug -- bugger -- think i fixed it
* used the wrong order for feedback/sleep
* configuration updates are now propagated in a much cleaner way
* added support for importing gentoo's init.d script dependencies
* added support for executing gentoo's init.d scripts
* fixed configuration files' mode
* added mount/system mount/root node reversal example
* better output of "list modules"
2007/01/03: mdeininger
* darwin compile fix (utmp)
* fixed changelog dates
* added einit support for gentoo's "softlevel" boot flag
* fixed some incorrect logic
* mutexes ftw...
* i found some invalid accesses, but they only occur in valid, allocated areas
and don't seem to cause any malfunction in einit...
* utmp handling should now closely resemble the sysv style...
* logics core changes (less useless retries... hopefully)
* gentoo module will now update gentoo's service tracking directory
(partially...)
* gentoo autodetection should work properly now
* *something* is corrupting configuration data...
update: seems like a bug in stree-linear.c, somethig is corrupting
the ->next pointers there
2007/01/02: mdeininger
* new events: service/module status changes and nodes mounted/unmounted
* got the utmp module to do something meaningful
2007/01/01: mdeininger
* bug in gentoo's compatibility module (SIGSEGV)
* some cleanups
* traced/fixed some bugs
2006/12/30: mdeininger
* cleaned up configure script, added some missing headers
(thanks for reporting, vapier)
2006/12/29: mdeininger
* removed "base" from the list of default attributes for nodes
(too rare, we'd rather save those 4/8 bytes per node)
* {enable|disable|reset}/mod is now deprecated in favour of */services
* added enable/critical in preparation of "panic mode"
* smarter configuration updates
* gentoo compatibility module can now parse gentoo's /etc/runlevels
(that means native gentoo rc-update will work, sort of...)
* commented some things in local.xml
* added aliasing support
* preliminary ipc/rc feedback support
* rc command semantics have changed, the old semantics can be requested with
an additional --detach flag
* minor scheduler bugfixes and cleanups
2006/12/28: mdeininger
* sandbox mode does not require recompilation anymore
* conditionals in your configuration files (using <if match="" />)
-> no more hard-coded calls to local.xml/sandbox.xml
(this also means that the weird "double file semantics" have been fixed)
* wrote a new module for generic init.d script support
* wrote another new module to provide initctl support (shutdown/halt, etc...)
it *should* work...
2006/12/27: mdeininger
* module to provide "external" services
(for using einit with sysv or similar)
* new command to "list services"
* the "after" and "before" attributes now have a purpose
[2006/12/24: mdeininger: release, Version 0.14.0.500]
2006/12/23: mdeininger
* cleanups (services)
2006/12/22: mdeininger
* modifications to live ebuild and configure script that should fix some
issues
2006/12/20: mdeininger
* repository converted to svn (rmh's idea actually :) )
2006/12/19: mdeininger
* service overrides
2006/12/15: mdeininger
* fix for the makefile
* obsoleted the main scheduler function
* new special elements for modes
* new IPC command: "exec"
* power "off" has been renamed to power "down" -- makes more sense
* due to the new layout, switching to the power-down/power-reset modes will
actually shut down or reset.
2006/12/09: mdeininger
* stupid little bug in the mounter...
2006/12/08: mdeininger
* mount: positive mountflags (+ i had forgotten "(no)exec") and cleanups
* slightly enhanced error checking
* guessing filesystems *should* work now, you can now also specify more than
one filesystem to try (using the fs1[:fs2[:fs3[...]]] syntax)
* module-logic: allow for exceptions to <disable />: <enable /> will now
override the <disable />-definition
* metamodules should not be able to be enabled directly...
2006/12/07: mdeininger
* updating the configuration just got a whole lot easier... hopefully
(use "einit-control emit-event core/update-configuration")
* the event-log is now #DEBUG-only
2006/12/05: mdeininger
* bleedin umount problem...
* einit-tty will now check the ttys to be called for existence
2006/12/04: mdeininger
* some work on a default splash-screen
2006/12/03: mdeininger
* templating should work now
2006/11/30: mdeininger
* templating ftw...
2006/11/28: mdeininger
* some cleanups (new functions "parse_integer" and "parse_boolean")
* removed the oi and bi attributes
2006/11/27: mdeininger
* some work on the daemon-killing-issue; might be fixed now...
2006/11/26: mdeininger
* tty code update (this should now behave pretty much the same as sysv)
* ipc code cleanup
* cleaned up some of the macro magic...
* included the modules teppic posted on the wiki (thanks a lot! :D)
2006/11/25: mdeininger
* (theoretically) added some code that should be able to send SIGHUP signals
to eevrything spawned by a getty (currently commented out since i couldn't
test it on my iBook)
2006/11/24: mdeininger
* [pd]exec.[och] have been removed from the repository in favour of
einit-modules/exec.h and einit-exec.c
* added code to allow for wildcards in the attribute part of variable names
in environment variables (requires the use of POSIX regular expressions)
2006/11/23: mdeininger
* no need to link against pexec.o/dexec.o anymore (use einit-modules/exec.h)
* more modules from rmh3093 (thanks man! =))
2006/11/22: mdeininger
* the process collector finally does something useful (on linux, anyway...)
2006/11/21: mdeininger
* added --wtf and --checkup as alternatives to --check-configuration
* some layout changes to process handling, getting closer to work...
* forgot to commit some modules earlier...
* rmh3093 got his gdm/beryl setup working with a different module-definition
for gdm :)
2006/11/19: mdeininger
* added some more modules (creds to the gentoo forums :D)
* some work on the process-handling framework
* fixed bind-mounting (hopefully)
2006/11/18: mdeininger
* added support for linux bind-mounts
2006/11/16: mdeininger
* added check to prevent init from being run if it is not pid=1
2006/11/15: mdeininger
* did some hacking on those splay trees... they kinda work as basic BSTs,
but the splaying doesn't work
2006/11/14: mdeininger
* API cleanups (scheduler and OS-dependant code)
* relocated the hash-code to tree.h, API/ABI changes (uhash->stree)
* started working on implementing splay-trees (doesn't work yet, isn't used)
* need to change the module-system to use trees to sort the lmodule-struct
by its rid (or the source-id...)
2006/11/11: mdeininger
* that one segfault (it was in the gentoo-compatibility module)
* incorporated some modules haader and lloeki wrote some time ago (so~rry!)
* need to implement BST hashes
* API change to hashdel() (only one argument needed now)
* API change to hashfind() (needs another "options" argument now)
[2006/11/10: mdeininger: release, Version 0.12]
2006/11/10: mdeininger
* parsing initng .ii files could be handy...
* pattern matching for loading .so-modules has been implemented
* new environment code added
* compatibility-sysv-gentoo: module to include gentoo's profile.env
(more uses for this module expected to come soon)
2006/11/09: mdeininger
* live configuration updating (including pseudo-modules)
* --scan-configuration has been reworked to be an ipc-command
("examine configuration")
2006/11/07: mdeininger
* changes to the dhcp module, updated textual visualiser
* damn i'm stupid, forgot to kill the manager-daemon on mounts!
(udevd, unmounting problems, /dev, kinda makes sense...)
* emitting EVE_CONFIGURATION_UPDATE
* module scanning/adding cleaned up
2006/11/06: mdeininger
* broadcast messages on shutdown/reboot
2006/11/05: mdeininger
* warning/waiting on errors while shutting down has been implemented
* advanced textual visualiser (you'll notice, trust me)
* updated this evas-visualiser... still nothing fancy, but compiles
2006/11/03: mdeininger
* shutdown-events
2006/11/02: mdeininger
* wait-retry cycles for unmounting
2006/11/01: mdeininger
* need a "uses"-attribute for modules
* damn, broken configuration file
* build-versioning
* darwin fix
* configuration parser: including directories now works
* einit= kernel/environment variable
2006/10/30: mdeininger
* bluetooth module updates from lloeki
2006/10/29: mdeininger
* command line parametres updated (added --help and --ipc-command)
* minor work on the interface-handling
2006/10/27: mdeininger
* configurator changes
* some modifications to (theoretically) allow a mode= paramtre on the kernel-
command-line
* fixed missing event-names
2006/10/26: mdeininger
* random fixes all over the place (especially with mounting...)
* Lloeki improved the cpufreq-module to work with multi-core/-CPU systems,
and he also posted bluetooth modules (yay! =))
* most signals are now being ignored
2006/10/24: mdeininger
* more changes to the configuration file layout (now we only have einit.xml
for the global profile and local.xml for local overrides. + sandbox.xml for
overrides in sandbox-mode)
* straddtoenviron() now converts non-alnum characters in the key to an
underscore, this allows you to use all configuration file entries as
variables in virtual modules
* lots of variables and locations changed, do look into the new files. it
should be easier to understand now, but you will need to reconfigure (!)
2006/10/23: mdeininger
* static initialisation for more default ipc handlers
* started to import some of the changes proposed by rmh3093
* configuration entries are now preferred the right way 'round
2006/10/22: mdeininger
* split the configuration into config-xml-expat.c (xml-specific) and config.c
(generic)
* some changes to allow for multiple/external configuration-modules
* configuration files are now parsed if you emit an event of type
EVE_UPDATE_CONFIGURATION, the string of this event must be the filename to
parse
2006/10/20: mdeininger
* more verbose error checks in the default visualiser
* did a little hacking for the network-devices-configuration
2006/10/18: mdeininger
* credits to yoyo for the cpufreq-module.
2006/10/16: mdeininger
* the sandbox.xml configuration file will only be installed if einit has been
configured in sandbox-mode
* structural changes to the event-system.
(now: event-types are 32-bit integers, with the high 20 bits (x86) defining
the subsystem this event belongs to, and the low/other 12 bits defining the
actual event or request.)
* ipc system updates
2006/10/15: mdeininger
* minor bugfix in the configure script
* einit-ipc will now spawn subthreads to handle IPC events.
* general ipc improvements.
2006/10/12: mdeininger
* added a "check configuration files only"-option to einit: --check-config
* added acknowledgments and credits section to the manual.
* added a note on einit --check-configuration to the documentation -- use it!
* updated module definitions -- thanks haader and KKtm
* TTYs should now import the environment variables in <shell />
2006/10/11: mdeininger
* off to the promised new features for v0.11:
* started with a new module for network configuration
* changed the names on some of the source-files so they all follow a more
logical pattern.
[2006/10/10: mdeininger: release, Version 0.10, first BETA]
2006/10/10: mdeininger
* proper user/group handling for dexec/pexec
2006/10/09: mdeininger
* extension to the event-system: module status changes now emit an event.
2006/10/08: mdeininger
* removed the "label" fstab-source from the default list. it seems to do more
more havoc than good due to lack of understanding.
* oh yeah: more documentation. this should do for v0.10, now to fix more bugs.
* fixed a bug in the module-logic code involving groups and related modules.
* almost got proper "most"-type group-handling working
2006/10/05: mdeininger
* more documentation updates
* updated module definitions from KKtm (thanks a bunch ;) )
2006/10/03: mdeininger
* updated documentation
* some new services (dbus and kdm)
* vis-text: the current module status is now displayed on the left, before the
module name, also the module name is now the actual name (if available), not
the rid.
* cleaned up some name tags
* combined kern-eth0 and kern-eth1 to kern-ethernet
* some configuration relocation/cleanups
* common-mount.c: will now symlink /etc/mtab to /proc/mounts on linux (some of
the linux commands apparently enjoy recreating this, thus causing trouble
since einit has no reason to actively maintain this, at least not on linux,
since the kernel already maintains a copy of this)
2006/10/02: mdeininger
* I'm trying to get the user's guide up to date for version 0.10
2006/10/01: mdeininger
* module loaders may now specify reload(), reset() and cleanup() functions
for modules they add to the system.
* i did some extensive memory-leak-hunting, and i think i dramatically reduced
the number of leaks in this code. (~11k marked as "definitely lost" last
time i ran it in valgrind)
* fixed most memory leaks (~6k definitely, ~2k possibly)
* fixed a typo (d'oh)
* the <prefer-* /> tags work again
* (hopefully) fixed a reported bug related to inclufing header files that
prevented the linux-mount module from building on some systems
* fixed another minor double-free() bug
2006/09/30: mdeininger
* einit now forks into two processes at startup: one to do the init-auto-wait,
one to do what einit's supposed to do.
* switched to semaphores on some functions, better handling of wait() (at
least on system that support wait()-ing on other threads' childrean, i.e.
at least linux >= 2.4 without uclibc and it seems to work flawlessly on
osx 10.4, except that semaphores seem to use lots of CPU power...)
* the osx bug has been resolved, apparently unnamed semaphores aren't
supported
* the epoweroff/ereset functions have been combined into one.
* the configuration-code won't waste that much memory anymore.
2006/09/27: mdeininger
* added support for some more mount flags
2006/09/27: mdeininger
* enabling a group should now associate the correct modules with the group.
* cleanups, conceptual changes
* made tts comment/notice handler more robust
2006/09/26: mdeininger
* enhanced documentation (a little)
* minor cleanups
2006/09/22: mdeininger
* cleanups
* documentation updates
* enhancements to group-handling
* disabling groups still seems to work as it should...
* need to slightly enhance some of the group-enabling code
(seq=any/any-iop/most/all are all the same right now)
* unloading modules seems to kill my box when trying to shut down... i'll
deactivate the rmmods for now.
2006/09/20: mdeininger
* more documentation
* minor cleanups
2006/09/19: mdeininger
* minor changes, fixes and adjustments
* mkay, now it works on osx... and somehow, things got way faster, wtf?
* i think i should resume commenting and documenting things ;)
(vesselin, you're absolutely right :D)
2006/09/18: mdeininger
weird. the module-logic code works pretty much flawlessly on linux, but
crashes 99% on darwin. something seems to be wrong with the mutex-code.
2006/09/17: mdeininger
* did some cleanups (tty.c, among other places)
* there's some bugs in recursive disabling of modules.
* mhh, i dare say stuff works as it ought to now (at least for en-/disabling)
* fixed another stupid bug...
2006/09/15: mdeininger
* the new module-logic code *almost* works
* bugfixes in the textual visualiser
* the new module-logic code is now at least as stable/functional as the old
code ever was, so it's the default now. still a lotta bugs, but at least
smaller than before, so it should be easier to get to work properly.
2006/09/14: mdeininger
* enabling works now (mostly)
2006/09/13: mdeininger
* fixed a stupid bug that caused a SIGBUS
* slight progress with module-logic.c
2006/09/12: mdeininger
* fixed a bug in event.c that caused an infinite loop.
* turned strinset() into inset()
* new function: service_usage_query()
* the module subsystem uses a new record-keeping method [I'm not sure if the
current version will boot... maybe you should postpone updates until i get
better module logic together...]
* new functions: cfg_getstring() and cfg_getnode().
the id paramtre for cfg_getstring can either be a node id, or of the form
node-id/attribute-name. the latter is primarily intended for environment
variable definitions.
* i think i made some progress with the new module-planning code
2006/09/11: mdeininger
* support for lm-sensors
* support for festival (tts)
* the event-system now uses uhash-es for the list of exported functions
* new event-helper functions: notice(), evdup(), evinit() and evdestroy()
* support for feedback via TTS (currently only for notices)
* feedback-events are now processed in the background (in their own threads)
* the module-logic code needs a workover. badly.
2006/09/10: mdeininger
* added some code to allow for fsck'ing dirty filesystems (need to update
metadata-reader to actually mark filesystems as dirty)
* changed mount/local to mount/critical (mount/local should only be used for
storage and other non-critical mounting actions)
* minor fix (lots of inaccessible devices would be mounted in auto-fstab-mode)
* reiserfs-metadata support
* checks for dirty filesystems (ext2/3/reiserfs)
* forgot some changes in the default configuration
2006/09/08: mdeininger
* removed an unnecessary header file from einit-hostname.
* changed some design parametres: encryption should be handled transparently
* added mount/critical (to replace mount/local as a requirement for programs,
since mount/local should rather mount the other things. that way, the
system can start faster)
2006/09/07: mdeininger
* added a function prototype to sort sets
* some cleanups in common-mount.c
* made sure deeper paths get mounted after lower paths. (i.e.: /usr/portage
after /usr) it's probably way too slow, but hey, it works.
* BUG: whenever einit tries to mount something without knowing the filesystem,
things go weird.
2006/09/06: mdeininger
* fixed a bug that caused some update steps to be skipped
2006/09/05: mdeininger
* fixed a nasty bug in setcombine()
* fixed the daemon definition for entrance -- it works again with the latest
entrance from CVS
* put the module planning logic into its own file: module-logic.c
* added a new module that sets host- and domainname: einit-hostname.c
2006/09/03: mdeininger
* combined the /dev, /proc and /sys mounting steps into "mount/system"
(better for interoperability, theoretically at least)
* the blockdevice- and metadata-scans performed by common-mount are now optional
* vis-text can now be configured to automatically switch to a specified VT
upon being enabled [linux only]
* console messages don't clutter up tty1 anymore [sometimes, anyway]
2006/08/28: mdeininger
* I tried to add NFS support today, but that's a real bitch it seems. for now,
eINIT will pexec() /bin/mount to do all the dirty work with nfs.
* common-mount now also keeps track of major/minor block device-numbers for
added block devices (in order to (re-)construct missing device nodes)
* the add_* functions now detect dupes
* common-mount will now guess some entries of your fstab based on disk-labels
2006/08/20: mdeininger
* fixed some memory allocation issues in the scheduler and einit-control
* added an ipc function "modules ls_modules"
* removed the mod_ls() function
* some fixes in the module tsk planning logic
* enabling/disabling modules using erc now works properly
* changed the makefiles to accept ${DESTDIR} for gentoo
* fixed the missing expat dependency in the gentoo ebuild
2006/08/19: mdeininger
* changes to ./configure [need crosscompile support]
[2006/08/06: mdeininger: release, Version 0.02]
2006/08/06: mdeininger
* trying to make the default textual visualiser better
* the default visualiser now looks a lot cleaner
* fixed some bugs with parallelism and memory management
2006/08/05: mdeininger
* fixes for Darwin
* fixes for Linux/x86_64
* added console redirection support (for Linux)
* optimised some portions of the module-loader code
* fixes in common-mount.c: somehow directories and sockets seem to be related
on Darwin...
* implemented the disable() function in tty.c and added some code to allow for
specifying which device a tty-command is to be run on (not tested)
* some improvements in the module loader logic
2006/07/30: mdeininger
* reworked cfgnodes to use the hash functions
* fixed a bug in mod-daemon that caused a segfault due to resurrected
daemoni lacking a pointer to their module.
* the vis-text module will now redirect the std(in|out|err) files
* pexec() and daemon_start() now use the stderr-fd for stdout
* i have an idea how to fix some of the memory-leaks involving hashes...
2006/07/29: mdeininger
* combined the update_* functions in common-mount.c into update()
all called functions now get the &mcb pointer as their first argument
2006/07/26: mdeininger
* feedback-system workover
* the dummy module and mod-sysv.c are no longer being maintained and have been
removed from the the repository
* concept configuration for redirecting text input/output
2006/07/25: mdeininger
* different handling for X-Sessions
* fixes/improvements to mod-daemon and mod-exec [they now handle variables the
same way as the tty-module]
* improved mount-code [options]
* some changes that'll be used for a workover of the feedback-system
2006/07/24: mdeininger
* cleanups n stuff in mod-exec, mod-daemon and tty.
* the <shell /> tag now allows you to specify a default environment for
anything you'd wish to call.
2006/07/23: mdeininger
* some changes to the str2set function.
2006/07/22: mdeininger
* put the new setdup() function to use in config-xml-expat
2006/07/20: mdeininger
* added a shell-type module to support swap-devices
* some more changes that'll be needed for some changes in the set-type
functions
2006/07/19: mdeininger
* some fixes; some memory management improvements to keep the resident
memory size smaller (at the expense of some CPU cycles)
* started on some changes to the set-code
2006/07/18: mdeininger
* added a control-block to the common-mount module to propagate to modules
that rely on it.
2006/07/17: mdeininger
* the mtab and fstab files get parsed completely now
* the IPC commands "mount ls_fstab" and "mount ls_mtab" now work
* unmounting should now actually be done (on Linux it even has backup-
strategies if the device is still in use: umount->force-umount->remount r/o+
detach)
2006/07/16: mdeininger
* added a new flag to ./configure: --use-posix-regex
* modified the find_block_devices_recurse_path() function to utilise regex-
functions if configure was told to use these (added so that not all devices
get scanned in the read-metadata step; on my box there's ~4000 block device-
nodes before udev is up, which means there's lots of things being done that
only waste cpu cycles)
2006/07/15: mdeininger
* new functions to "register" functions for other modules to use (in event.h)
* lotsa changes with the automounter (it now consists of more than just one
module and makes use of the function_register/function_find system.
* putting the SANDBOX-#define to better use
2006/07/12: mdeininger
* updated default configuration (no real changes)
2006/07/11: mdeininger
* did some preparations to incorporate the event system into the mount system.
2006/07/09: mdeininger
sorry, don't get to much just now
* added a new flag to ./configure
2006/06/25: mdeininger
* added a "sandbox"-flag to configure: sets the prefix to `pwd`/sandbox and
#defines SANDBOX
* did some cleaning (I had already done this but... you know how sf.net CVS
had some trouble)
* I was thinking for a while, and now I'm pretty sure that einit needs some
sort of event-system, so, I added that and made some "improvements" to the
current IPC code.
2006/06/19: mdeininger
whoops, my new playstation 2 seems to keep me fairly occupied... anyway, here
goes:
* i'm investigating some issues with mod-daemon that seem to prevent einit
from shutting down properly; I think i fixed that bug.
2006/06/11: mdeininger
* some more restructuring
* need a list with filesystem capabilities, so I started on a new XML file
that contains this information
* internal fstab: added the before-mount, after-mount, before-umount, after-
umount and manager attributes; they're pretty much self-explanatory
* the mount/local step should work now
NOTE: mount options are still being ignored. all of them. automatic device-
to-mountpoint matching still doesn't work either. and still no processing of
/etc/mtab, /proc/mounts or the legacy /etc/fstab.
2006/06/10: mdeininger
* created the global variable osinfo that gets filled out via uname.
* some work on the automounter
* reading labels and uuid from ext2/3 filesystems works properly now.
NOTE: these ext2 uuids are really weird, took me a while to figure out how
they work...
* first success: mounting the root filesystem with linux-mount worked just a
second ago
2006/06/08: mdeininger
* started moving some things from linux-mount to common-mount
* added a bsd directory to contain bsd-specific modules.
* new function: call_functions_in_set()
2006/06/07: mdeininger
* created a file src/modules/common-mount.c to contain parts of the automounter
that would be of interest to other implementations as well
* moved pexec.h
* moved some sources out of mod-daemon.c into dexec.[ch] just like i did with
pexec.[ch] -- it could come in handy with the automounters.
2006/06/05: mdeininger
* added some structs that should be able to hold all info the fstab provides
* added default configuration for fstab
2006/06/04: mdeininger
* [module.c] i accidentally had the configure() functions in modules called after
the scanmodules() functions; this has been fixed
* created some functions to search for block devices
* there's one weird bug in the str*del() functions (or the mod() function) that
seems to be able to cause a double-free